Version Description
- Restored controls of per post injection
- Compatibility check with latest WP
- Moved to PHP 5.6 syntax
Download this release
Release Info
Developer | satollo |
Plugin | Head, Footer and Post Injections |
Version | 3.2.0 |
Comparing to | |
See all releases |
Code changes from version 3.1.5 to 3.2.0
- admin/admin.css +11 -14
- admin/admin.min.css +1 -0
- admin/admin.php +64 -11
- admin/controls.php +192 -0
- admin/metaboxes.php +0 -59
- admin/options.php +287 -485
- images/social/round/facebook.png +0 -0
- images/social/round/google.png +0 -0
- images/social/round/linkedin.png +0 -0
- images/social/round/twitter.png +0 -0
- images/social/square/facebook.png +0 -0
- images/social/square/google.png +0 -0
- images/social/square/linkedin.png +0 -0
- images/social/square/pinterest.png +0 -0
- images/social/square/twitter.png +0 -0
- lib/easytabs/jquery.easytabs.min.js +0 -12
- lib/easytabs/tabs.css +0 -71
- plugin.php +20 -19
- readme.txt +18 -14
- vendor/jquery-ui/images/ui-icons_444444_256x240.png +0 -0
- vendor/jquery-ui/images/ui-icons_555555_256x240.png +0 -0
- vendor/jquery-ui/images/ui-icons_777620_256x240.png +0 -0
- vendor/jquery-ui/images/ui-icons_777777_256x240.png +0 -0
- vendor/jquery-ui/images/ui-icons_cc0000_256x240.png +0 -0
- vendor/jquery-ui/images/ui-icons_ffffff_256x240.png +0 -0
- vendor/jquery-ui/jquery-ui.min.css +7 -0
admin/admin.css
CHANGED
@@ -1,5 +1,5 @@
|
|
1 |
|
2 |
-
.
|
3 |
font-size: 12px;
|
4 |
}
|
5 |
|
@@ -81,19 +81,6 @@ h3 {
|
|
81 |
}
|
82 |
}
|
83 |
|
84 |
-
.tab a {
|
85 |
-
text-decoration: none;
|
86 |
-
}
|
87 |
-
|
88 |
-
.tab a.active {
|
89 |
-
font-weight: normal;
|
90 |
-
}
|
91 |
-
.tab a:focus {
|
92 |
-
outline: none;
|
93 |
-
border: 0;
|
94 |
-
box-shadow: none;
|
95 |
-
}
|
96 |
-
|
97 |
.rules {
|
98 |
margin-top: 15px;
|
99 |
}
|
@@ -132,4 +119,14 @@ h3 {
|
|
132 |
font-size: 12px;
|
133 |
text-transform: uppercase;
|
134 |
display: block;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
135 |
}
|
1 |
|
2 |
+
.form-table, .form-table td, .form-table th, .form-table td p, .form-wrap label {
|
3 |
font-size: 12px;
|
4 |
}
|
5 |
|
81 |
}
|
82 |
}
|
83 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
84 |
.rules {
|
85 |
margin-top: 15px;
|
86 |
}
|
119 |
font-size: 12px;
|
120 |
text-transform: uppercase;
|
121 |
display: block;
|
122 |
+
}
|
123 |
+
|
124 |
+
a.readmore {
|
125 |
+
display: inline-block;
|
126 |
+
background-color: #007cba;
|
127 |
+
padding: 3px 10px;
|
128 |
+
color: #fff;
|
129 |
+
text-decoration: none;
|
130 |
+
border-radius: 5px;
|
131 |
+
line-height: normal;
|
132 |
}
|
admin/admin.min.css
ADDED
@@ -0,0 +1 @@
|
|
|
1 |
+
.form-table,.form-table td,.form-table th,.form-table td p,.form-wrap label{font-size:12px}.form-table th{font-weight:bold;font-size:12px;text-align:right;border-right:1px solid #ddd}.form-table td{font-size:12px}h3{font-weight:bold;margin-bottom:0;padding:0;text-transform:uppercase}.form-table textarea,.ui-widget textarea{font-family:Consolas,Monaco,monospace}.notice{position:relative}.hefo-dismiss{position:absolute;top:0;right:10px;text-decoration:none;font-size:20px}.CodeMirror{border:1px solid #eee;height:200px}.row{margin-left:-10px;margin-right:-10px;box-sizing:border-box}.col-1{width:100%;min-width:350px;float:left;padding:10px;box-sizing:border-box}.col-2{width:50%;min-width:350px;float:left;padding:10px;box-sizing:border-box}.clearfix{float:none;clear:both;display:table;content:""}.hefo-cm{width:100%;height:100px;box-sizing:border-box}@media all and (max-width:1200px){.col-2{width:100%;box-sizing:border-box}}.rules{margin-top:15px}.rules select{height:27px;display:block;margin-right:10px}.rules input{height:27px;display:block;margin-right:10px}.rules div{margin-right:10px;padding-top:5px}.hf-index-entry{display:block;background-color:#aaa;color:white;text-decoration:none;width:150px;box-sizing:border-box;border:2px solid #aaa}.hf-index-entry:hover{border-color:#ddd}.col-2 label{font-size:12px;text-transform:uppercase;display:block}a.readmore{display:inline-block;background-color:#007cba;padding:3px 10px;color:#fff;text-decoration:none;border-radius:5px;line-height:normal}
|
admin/admin.php
CHANGED
@@ -1,17 +1,9 @@
|
|
1 |
<?php
|
2 |
-
defined('ABSPATH') || exit;
|
3 |
|
4 |
-
|
5 |
|
6 |
-
function
|
7 |
global $hefo_options;
|
8 |
-
if (isset($_GET['page']) && strpos($_GET['page'], 'header-footer/') === 0) {
|
9 |
-
header('X-XSS-Protection: 0');
|
10 |
-
wp_enqueue_script('jquery-ui-tabs');
|
11 |
-
wp_enqueue_style('header-footer', plugins_url('header-footer') . '/admin/admin.css', array(), time());
|
12 |
-
wp_enqueue_style('header-footer-tabs', plugins_url('header-footer') . '/lib/easytabs/tabs.css', array(), time());
|
13 |
-
wp_enqueue_script('header-footer-tabs', plugins_url('header-footer') . '/lib/easytabs/jquery.easytabs.min.js', array(), time());
|
14 |
-
}
|
15 |
|
16 |
if (isset($hefo_options['page_add_tags'])) {
|
17 |
register_taxonomy_for_object_type('post_tag', 'page');
|
@@ -20,8 +12,69 @@ function hefo_admin_init() {
|
|
20 |
if (isset($hefo_options['page_add_categories'])) {
|
21 |
register_taxonomy_for_object_type('category', 'page');
|
22 |
}
|
23 |
-
}
|
|
|
|
|
24 |
|
25 |
add_action('admin_menu', function() {
|
26 |
add_options_page('Header and Footer', 'Header and Footer', 'manage_options', 'header-footer/admin/options.php');
|
27 |
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
<?php
|
|
|
2 |
|
3 |
+
defined('ABSPATH') || exit;
|
4 |
|
5 |
+
add_action('admin_init', function () {
|
6 |
global $hefo_options;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
7 |
|
8 |
if (isset($hefo_options['page_add_tags'])) {
|
9 |
register_taxonomy_for_object_type('post_tag', 'page');
|
12 |
if (isset($hefo_options['page_add_categories'])) {
|
13 |
register_taxonomy_for_object_type('category', 'page');
|
14 |
}
|
15 |
+
});
|
16 |
+
|
17 |
+
|
18 |
|
19 |
add_action('admin_menu', function() {
|
20 |
add_options_page('Header and Footer', 'Header and Footer', 'manage_options', 'header-footer/admin/options.php');
|
21 |
});
|
22 |
+
|
23 |
+
|
24 |
+
if (isset($_GET['page']) && strpos($_GET['page'], 'header-footer/') === 0) {
|
25 |
+
header('X-XSS-Protection: 0');
|
26 |
+
add_action('admin_enqueue_scripts', function () {
|
27 |
+
wp_enqueue_script('jquery-ui-tabs');
|
28 |
+
wp_enqueue_style('hefo', plugins_url('header-footer') . '/admin/admin.css', [], time());
|
29 |
+
wp_enqueue_style('hefo-jquery-ui', plugins_url('header-footer') . '/vendor/jquery-ui/jquery-ui.min.css', [], time());
|
30 |
+
wp_enqueue_code_editor(['type' => 'php']);
|
31 |
+
wp_enqueue_script('jquery-ui-tabs');
|
32 |
+
});
|
33 |
+
}
|
34 |
+
|
35 |
+
add_action('add_meta_boxes', function () {
|
36 |
+
add_meta_box('hefo', __('Head and Footer', 'header-footer'), 'hefo_meta_boxes_callback', ['post', 'page']);
|
37 |
+
});
|
38 |
+
|
39 |
+
add_action('save_post', 'hefo_save_post');
|
40 |
+
|
41 |
+
|
42 |
+
function hefo_meta_boxes_callback($post) {
|
43 |
+
|
44 |
+
// Use nonce for verification
|
45 |
+
wp_nonce_field(plugin_basename(__FILE__), 'hefo');
|
46 |
+
|
47 |
+
// The actual fields for data entry
|
48 |
+
// Use get_post_meta to retrieve an existing value from the database and use the value for the form
|
49 |
+
$before = get_post_meta($post->ID, 'hefo_before', true);
|
50 |
+
$after = get_post_meta($post->ID, 'hefo_after', true);
|
51 |
+
echo '<label>';
|
52 |
+
echo '<input type="checkbox" id="hefo_before" name="hefo_before" ' . (empty($before) ? "" : "checked") . '> ';
|
53 |
+
_e("Disable top injection", 'header-footer');
|
54 |
+
echo '</label> ';
|
55 |
+
echo '<br>';
|
56 |
+
echo '<label>';
|
57 |
+
echo '<input type="checkbox" id="hefo_after" name="hefo_after]" ' . (empty($after) ? "" : "checked") . '> ';
|
58 |
+
_e("Disable bottom injection", 'header-footer');
|
59 |
+
echo '</label> ';
|
60 |
+
}
|
61 |
+
|
62 |
+
|
63 |
+
function hefo_save_post($post_id) {
|
64 |
+
|
65 |
+
// First we need to check if the current user is authorised to do this action.
|
66 |
+
if (isset($_POST['post_type']) && 'page' == $_POST['post_type']) {
|
67 |
+
if (!current_user_can('edit_page', $post_id))
|
68 |
+
return;
|
69 |
+
} else {
|
70 |
+
if (!current_user_can('edit_post', $post_id))
|
71 |
+
return;
|
72 |
+
}
|
73 |
+
|
74 |
+
// Secondly we need to check if the user intended to change this value.
|
75 |
+
if (!wp_verify_nonce($_POST['hefo'], plugin_basename(__FILE__)))
|
76 |
+
return;
|
77 |
+
|
78 |
+
update_post_meta($post_id, 'hefo_before', isset($_REQUEST['hefo_before']) ? 1 : 0);
|
79 |
+
update_post_meta($post_id, 'hefo_after', isset($_REQUEST['hefo_after']) ? 1 : 0);
|
80 |
+
}
|
admin/controls.php
ADDED
@@ -0,0 +1,192 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
defined('ABSPATH') || exit;
|
3 |
+
|
4 |
+
function hefo_request($name, $default = null) {
|
5 |
+
if (!isset($_REQUEST[$name]))
|
6 |
+
return $default;
|
7 |
+
return stripslashes_deep($_REQUEST[$name]);
|
8 |
+
}
|
9 |
+
|
10 |
+
function hefo_field_checkbox($name, $label = '', $tips = '', $attrs = '') {
|
11 |
+
global $options;
|
12 |
+
echo '<th scope="row">';
|
13 |
+
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
14 |
+
echo '<td><input type="checkbox" ' . $attrs . ' name="options[' . $name . ']" value="1" ' .
|
15 |
+
(isset($options[$name]) ? 'checked' : '') . '/>';
|
16 |
+
echo ' ' . $tips;
|
17 |
+
echo '</td>';
|
18 |
+
}
|
19 |
+
|
20 |
+
function hefo_base_checkbox($name, $label = '') {
|
21 |
+
global $options;
|
22 |
+
echo '<label>';
|
23 |
+
echo '<input type="checkbox" name="options[' . $name . ']" value="1" ' .
|
24 |
+
(isset($options[$name]) ? 'checked' : '') . '>';
|
25 |
+
echo $label;
|
26 |
+
echo '</label>';
|
27 |
+
}
|
28 |
+
|
29 |
+
function hefo_field_checkbox_only($name, $tips = '', $attrs = '', $link = null) {
|
30 |
+
global $options;
|
31 |
+
echo '<td><input type="checkbox" ' . $attrs . ' name="options[' . $name . ']" value="1" ' .
|
32 |
+
(isset($options[$name]) ? 'checked' : '') . '/>';
|
33 |
+
echo ' ' . $tips;
|
34 |
+
if ($link) {
|
35 |
+
echo '<br><a href="' . $link . '" target="_blank">Read more</a>.';
|
36 |
+
}
|
37 |
+
echo '</td>';
|
38 |
+
}
|
39 |
+
|
40 |
+
function hefo_field_text($name, $label = '', $tips = '', $attrs = '') {
|
41 |
+
global $options;
|
42 |
+
|
43 |
+
if (!isset($options[$name]))
|
44 |
+
$options[$name] = '';
|
45 |
+
|
46 |
+
echo '<th scope="row">';
|
47 |
+
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
48 |
+
echo '<td><input type="text" name="options[' . $name . ']" value="' .
|
49 |
+
htmlspecialchars($options[$name]) . '" size="50"/>';
|
50 |
+
echo '<br /> ' . $tips;
|
51 |
+
echo '</td>';
|
52 |
+
}
|
53 |
+
|
54 |
+
function hefo_base_text($name) {
|
55 |
+
global $options;
|
56 |
+
|
57 |
+
if (!isset($options[$name])) {
|
58 |
+
$options[$name] = '';
|
59 |
+
}
|
60 |
+
|
61 |
+
echo '<input type="text" name="options[' . $name . ']" value="' .
|
62 |
+
esc_attr($options[$name]) . '" size="30">';
|
63 |
+
}
|
64 |
+
|
65 |
+
function hefo_field_textarea($name, $label = '', $tips = '', $attrs = '') {
|
66 |
+
global $options;
|
67 |
+
|
68 |
+
if (!isset($options[$name]))
|
69 |
+
$options[$name] = '';
|
70 |
+
|
71 |
+
if (is_array($options[$name]))
|
72 |
+
$options[$name] = implode("\n", $options[$name]);
|
73 |
+
|
74 |
+
if (strpos($attrs, 'cols') === false)
|
75 |
+
$attrs .= 'cols="70"';
|
76 |
+
if (strpos($attrs, 'rows') === false)
|
77 |
+
$attrs .= 'rows="5"';
|
78 |
+
|
79 |
+
echo '<th scope="row">';
|
80 |
+
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
81 |
+
echo '<td><textarea style="width: 100%; height: 100px" wrap="off" name="options[' . $name . ']">' .
|
82 |
+
htmlspecialchars($options[$name]) . '</textarea>';
|
83 |
+
echo '<p class="description">' . $tips . '</p>';
|
84 |
+
echo '</td>';
|
85 |
+
}
|
86 |
+
|
87 |
+
function hefo_field_textarea_cm($name, $label = '', $tips = '', $attrs = '') {
|
88 |
+
global $options;
|
89 |
+
|
90 |
+
if (!isset($options[$name]))
|
91 |
+
$options[$name] = '';
|
92 |
+
|
93 |
+
if (is_array($options[$name]))
|
94 |
+
$options[$name] = implode("\n", $options[$name]);
|
95 |
+
|
96 |
+
if (strpos($attrs, 'cols') === false)
|
97 |
+
$attrs .= 'cols="70"';
|
98 |
+
if (strpos($attrs, 'rows') === false)
|
99 |
+
$attrs .= 'rows="5"';
|
100 |
+
|
101 |
+
echo '<th scope="row">';
|
102 |
+
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
103 |
+
echo '<td><textarea style="width: 100%; height: 100px" wrap="off" name="options[' . $name . ']" onfocus="hefo_cm_on(this)" onblur="hefo_cm_off(this)">' .
|
104 |
+
htmlspecialchars($options[$name]) . '</textarea>';
|
105 |
+
echo '<p class="description">' . $tips . '</p>';
|
106 |
+
echo '</td>';
|
107 |
+
}
|
108 |
+
|
109 |
+
function hefo_base_textarea_cm($name, $type = '', $tips = '') {
|
110 |
+
global $options;
|
111 |
+
|
112 |
+
if (!empty($type))
|
113 |
+
$type = '-' . $type;
|
114 |
+
if (!isset($options[$name]))
|
115 |
+
$options[$name] = '';
|
116 |
+
|
117 |
+
if (is_array($options[$name]))
|
118 |
+
$options[$name] = implode("\n", $options[$name]);
|
119 |
+
|
120 |
+
echo '<textarea class="hefo-cm' . $type . '" name="options[' . $name . ']" onfocus="hefo_cm_on(this)">';
|
121 |
+
echo htmlspecialchars($options[$name]);
|
122 |
+
echo '</textarea>';
|
123 |
+
echo '<p class="description">' . $tips . '</p>';
|
124 |
+
}
|
125 |
+
|
126 |
+
function hefo_field_textarea_enable($name, $label = '', $tips = '', $attrs = '') {
|
127 |
+
global $options;
|
128 |
+
|
129 |
+
if (!isset($options[$name]))
|
130 |
+
$options[$name] = '';
|
131 |
+
|
132 |
+
if (is_array($options[$name]))
|
133 |
+
$options[$name] = implode("\n", $options[$name]);
|
134 |
+
|
135 |
+
if (strpos($attrs, 'cols') === false)
|
136 |
+
$attrs .= 'cols="70"';
|
137 |
+
if (strpos($attrs, 'rows') === false)
|
138 |
+
$attrs .= 'rows="5"';
|
139 |
+
|
140 |
+
echo '<th scope="row">';
|
141 |
+
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
142 |
+
echo '<td>';
|
143 |
+
echo '<input type="checkbox" ' . $attrs . ' name="options[' . $name . '_enabled]" value="1" ' .
|
144 |
+
(isset($options[$name . '_enabled']) ? 'checked' : '') . '> Enable<br>';
|
145 |
+
echo '<textarea style="width: 100%; height: 100px" wrap="off" name="options[' . $name . ']">' .
|
146 |
+
htmlspecialchars($options[$name]) . '</textarea>';
|
147 |
+
echo '<p class="description">' . $tips . '</p>';
|
148 |
+
echo '</td>';
|
149 |
+
}
|
150 |
+
|
151 |
+
function hefo_rule($number) {
|
152 |
+
global $options;
|
153 |
+
if (!isset($options['inner_pos_' . $number]))
|
154 |
+
$options['inner_pos_' . $number] = 'after';
|
155 |
+
if (!isset($options['inner_skip_' . $number]))
|
156 |
+
$options['inner_skip_' . $number] = 0;
|
157 |
+
if (!isset($options['inner_tag_' . $number]))
|
158 |
+
$options['inner_tag_' . $number] = '';
|
159 |
+
|
160 |
+
echo '<div class="rules">';
|
161 |
+
echo '<div style="float: left">Inject</div>';
|
162 |
+
echo '<select style="float: left" name="options[inner_pos_' . $number . ']">';
|
163 |
+
echo '<option value="after"';
|
164 |
+
echo $options['inner_pos_' . $number] == 'after' ? ' selected' : '';
|
165 |
+
echo '>after</option>';
|
166 |
+
echo '<option value="before"';
|
167 |
+
echo $options['inner_pos_' . $number] == 'before' ? ' selected' : '';
|
168 |
+
echo '>before</option>';
|
169 |
+
echo '</select>';
|
170 |
+
echo '<input style="float: left" type="text" placeholder="marker" name="options[inner_tag_' . $number . ']" value="';
|
171 |
+
echo esc_attr($options['inner_tag_' . $number]);
|
172 |
+
echo '">';
|
173 |
+
echo '<div style="float: left">skipping</div>';
|
174 |
+
echo '<input style="float: left" type="text" size="5" name="options[inner_skip_' . $number . ']" value="';
|
175 |
+
echo esc_attr($options['inner_skip_' . $number]);
|
176 |
+
echo '">';
|
177 |
+
echo '<div style="float: left">chars, on failure inject</div>';
|
178 |
+
echo '<select style="float: left" name="options[inner_alt_' . $number . ']">';
|
179 |
+
echo '<option value=""';
|
180 |
+
echo $options['inner_alt_' . $number] == 'after' ? ' selected' : '';
|
181 |
+
echo '>nowhere</option>';
|
182 |
+
echo '<option value="after"';
|
183 |
+
echo $options['inner_alt_' . $number] == 'after' ? ' selected' : '';
|
184 |
+
echo '>after the content</option>';
|
185 |
+
echo '<option value="before"';
|
186 |
+
echo $options['inner_alt_' . $number] == 'before' ? ' selected' : '';
|
187 |
+
echo '>before the content</option>';
|
188 |
+
echo '</select>';
|
189 |
+
echo '<div class="clearfix"></div></div>';
|
190 |
+
}
|
191 |
+
|
192 |
+
|
admin/metaboxes.php
DELETED
@@ -1,59 +0,0 @@
|
|
1 |
-
<?php
|
2 |
-
defined('ABSPATH') || exit;
|
3 |
-
|
4 |
-
//add_action('add_meta_boxes', 'hefo_add_meta_boxes');
|
5 |
-
|
6 |
-
//add_action('save_post', 'hefo_save_post');
|
7 |
-
|
8 |
-
/*
|
9 |
-
function hefo_add_meta_boxes() {
|
10 |
-
foreach (array('post', 'page') as $screen) {
|
11 |
-
add_meta_box(
|
12 |
-
'hefo', __('Header and Footer', 'header-footer'), 'hefo_add_meta_boxes_callback', $screen
|
13 |
-
);
|
14 |
-
}
|
15 |
-
}
|
16 |
-
*/
|
17 |
-
|
18 |
-
/*
|
19 |
-
function hefo_add_meta_boxes_callback($post) {
|
20 |
-
|
21 |
-
// Use nonce for verification
|
22 |
-
wp_nonce_field(plugin_basename(__FILE__), 'hefo');
|
23 |
-
|
24 |
-
// The actual fields for data entry
|
25 |
-
// Use get_post_meta to retrieve an existing value from the database and use the value for the form
|
26 |
-
$before = get_post_meta($post->ID, 'hefo_before', true);
|
27 |
-
$after = get_post_meta($post->ID, 'hefo_after', true);
|
28 |
-
echo '<label>';
|
29 |
-
echo '<input type="checkbox" id="hefo_before" name="hefo_before" ' . (empty($before) ? "" : "checked") . '> ';
|
30 |
-
_e("Disable top injection", 'header-footer');
|
31 |
-
echo '</label> ';
|
32 |
-
echo '<br>';
|
33 |
-
echo '<label>';
|
34 |
-
echo '<input type="checkbox" id="hefo_after" name="hefo_after" ' . (empty($after) ? "" : "checked") . '> ';
|
35 |
-
_e("Disable bottom injection", 'header-footer');
|
36 |
-
echo '</label> ';
|
37 |
-
}
|
38 |
-
*/
|
39 |
-
|
40 |
-
/*
|
41 |
-
function hefo_save_post($post_id) {
|
42 |
-
|
43 |
-
// First we need to check if the current user is authorised to do this action.
|
44 |
-
if (isset($_POST['post_type']) && 'page' == $_POST['post_type']) {
|
45 |
-
if (!current_user_can('edit_page', $post_id))
|
46 |
-
return;
|
47 |
-
} else {
|
48 |
-
if (!current_user_can('edit_post', $post_id))
|
49 |
-
return;
|
50 |
-
}
|
51 |
-
|
52 |
-
// Secondly we need to check if the user intended to change this value.
|
53 |
-
if (!isset($_POST['hefo']) || !wp_verify_nonce($_POST['hefo'], plugin_basename(__FILE__)))
|
54 |
-
return;
|
55 |
-
|
56 |
-
update_post_meta($post_id, 'hefo_before', isset($_REQUEST['hefo_before']) ? 1 : 0);
|
57 |
-
update_post_meta($post_id, 'hefo_after', isset($_REQUEST['hefo_after']) ? 1 : 0);
|
58 |
-
}
|
59 |
-
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
admin/options.php
CHANGED
@@ -3,203 +3,17 @@ if (function_exists('load_plugin_textdomain')) {
|
|
3 |
load_plugin_textdomain('header-footer', false, 'header-footer/languages');
|
4 |
}
|
5 |
|
6 |
-
|
7 |
|
8 |
-
|
|
|
|
|
9 |
$dismissed[$_REQUEST['dismiss']] = 1;
|
10 |
update_option('hefo_dismissed', $dismissed);
|
11 |
wp_redirect('?page=header-footer%2Foptions.php');
|
12 |
exit();
|
13 |
}
|
14 |
|
15 |
-
function hefo_request($name, $default = null) {
|
16 |
-
if (!isset($_REQUEST[$name]))
|
17 |
-
return $default;
|
18 |
-
return stripslashes_deep($_REQUEST[$name]);
|
19 |
-
}
|
20 |
-
|
21 |
-
function hefo_field_checkbox($name, $label = '', $tips = '', $attrs = '') {
|
22 |
-
global $options;
|
23 |
-
echo '<th scope="row">';
|
24 |
-
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
25 |
-
echo '<td><input type="checkbox" ' . $attrs . ' name="options[' . $name . ']" value="1" ' .
|
26 |
-
(isset($options[$name]) ? 'checked' : '') . '/>';
|
27 |
-
echo ' ' . $tips;
|
28 |
-
echo '</td>';
|
29 |
-
}
|
30 |
-
|
31 |
-
function hefo_base_checkbox($name, $label = '') {
|
32 |
-
global $options;
|
33 |
-
echo '<label>';
|
34 |
-
echo '<input type="checkbox" name="options[' . $name . ']" value="1" ' .
|
35 |
-
(isset($options[$name]) ? 'checked' : '') . '>';
|
36 |
-
echo $label;
|
37 |
-
echo '</label>';
|
38 |
-
}
|
39 |
-
|
40 |
-
function hefo_field_checkbox_only($name, $tips = '', $attrs = '', $link = null) {
|
41 |
-
global $options;
|
42 |
-
echo '<td><input type="checkbox" ' . $attrs . ' name="options[' . $name . ']" value="1" ' .
|
43 |
-
(isset($options[$name]) ? 'checked' : '') . '/>';
|
44 |
-
echo ' ' . $tips;
|
45 |
-
if ($link) {
|
46 |
-
echo '<br><a href="' . $link . '" target="_blank">Read more</a>.';
|
47 |
-
}
|
48 |
-
echo '</td>';
|
49 |
-
}
|
50 |
-
|
51 |
-
function hefo_field_text($name, $label = '', $tips = '', $attrs = '') {
|
52 |
-
global $options;
|
53 |
-
|
54 |
-
if (!isset($options[$name]))
|
55 |
-
$options[$name] = '';
|
56 |
-
|
57 |
-
echo '<th scope="row">';
|
58 |
-
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
59 |
-
echo '<td><input type="text" name="options[' . $name . ']" value="' .
|
60 |
-
htmlspecialchars($options[$name]) . '" size="50"/>';
|
61 |
-
echo '<br /> ' . $tips;
|
62 |
-
echo '</td>';
|
63 |
-
}
|
64 |
-
|
65 |
-
function hefo_base_text($name) {
|
66 |
-
global $options;
|
67 |
-
|
68 |
-
if (!isset($options[$name])) {
|
69 |
-
$options[$name] = '';
|
70 |
-
}
|
71 |
-
|
72 |
-
echo '<input type="text" name="options[' . $name . ']" value="' .
|
73 |
-
esc_attr($options[$name]) . '" size="30">';
|
74 |
-
}
|
75 |
-
|
76 |
-
function hefo_field_textarea($name, $label = '', $tips = '', $attrs = '') {
|
77 |
-
global $options;
|
78 |
-
|
79 |
-
if (!isset($options[$name]))
|
80 |
-
$options[$name] = '';
|
81 |
-
|
82 |
-
if (is_array($options[$name]))
|
83 |
-
$options[$name] = implode("\n", $options[$name]);
|
84 |
-
|
85 |
-
if (strpos($attrs, 'cols') === false)
|
86 |
-
$attrs .= 'cols="70"';
|
87 |
-
if (strpos($attrs, 'rows') === false)
|
88 |
-
$attrs .= 'rows="5"';
|
89 |
-
|
90 |
-
echo '<th scope="row">';
|
91 |
-
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
92 |
-
echo '<td><textarea style="width: 100%; height: 100px" wrap="off" name="options[' . $name . ']">' .
|
93 |
-
htmlspecialchars($options[$name]) . '</textarea>';
|
94 |
-
echo '<p class="description">' . $tips . '</p>';
|
95 |
-
echo '</td>';
|
96 |
-
}
|
97 |
-
|
98 |
-
function hefo_field_textarea_cm($name, $label = '', $tips = '', $attrs = '') {
|
99 |
-
global $options;
|
100 |
-
|
101 |
-
if (!isset($options[$name]))
|
102 |
-
$options[$name] = '';
|
103 |
-
|
104 |
-
if (is_array($options[$name]))
|
105 |
-
$options[$name] = implode("\n", $options[$name]);
|
106 |
-
|
107 |
-
if (strpos($attrs, 'cols') === false)
|
108 |
-
$attrs .= 'cols="70"';
|
109 |
-
if (strpos($attrs, 'rows') === false)
|
110 |
-
$attrs .= 'rows="5"';
|
111 |
-
|
112 |
-
echo '<th scope="row">';
|
113 |
-
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
114 |
-
echo '<td><textarea style="width: 100%; height: 100px" wrap="off" name="options[' . $name . ']" onfocus="hefo_cm_on(this)" onblur="hefo_cm_off(this)">' .
|
115 |
-
htmlspecialchars($options[$name]) . '</textarea>';
|
116 |
-
echo '<p class="description">' . $tips . '</p>';
|
117 |
-
echo '</td>';
|
118 |
-
}
|
119 |
-
|
120 |
-
function hefo_base_textarea_cm($name, $type = '', $tips = '') {
|
121 |
-
global $options;
|
122 |
-
|
123 |
-
if (!empty($type))
|
124 |
-
$type = '-' . $type;
|
125 |
-
if (!isset($options[$name]))
|
126 |
-
$options[$name] = '';
|
127 |
-
|
128 |
-
if (is_array($options[$name]))
|
129 |
-
$options[$name] = implode("\n", $options[$name]);
|
130 |
-
|
131 |
-
echo '<textarea class="hefo-cm' . $type . '" name="options[' . $name . ']" onfocus="hefo_cm_on(this)">';
|
132 |
-
echo htmlspecialchars($options[$name]);
|
133 |
-
echo '</textarea>';
|
134 |
-
echo '<p class="description">' . $tips . '</p>';
|
135 |
-
}
|
136 |
-
|
137 |
-
function hefo_field_textarea_enable($name, $label = '', $tips = '', $attrs = '') {
|
138 |
-
global $options;
|
139 |
-
|
140 |
-
if (!isset($options[$name]))
|
141 |
-
$options[$name] = '';
|
142 |
-
|
143 |
-
if (is_array($options[$name]))
|
144 |
-
$options[$name] = implode("\n", $options[$name]);
|
145 |
-
|
146 |
-
if (strpos($attrs, 'cols') === false)
|
147 |
-
$attrs .= 'cols="70"';
|
148 |
-
if (strpos($attrs, 'rows') === false)
|
149 |
-
$attrs .= 'rows="5"';
|
150 |
-
|
151 |
-
echo '<th scope="row">';
|
152 |
-
echo '<label for="options[' . $name . ']">' . $label . '</label></th>';
|
153 |
-
echo '<td>';
|
154 |
-
echo '<input type="checkbox" ' . $attrs . ' name="options[' . $name . '_enabled]" value="1" ' .
|
155 |
-
(isset($options[$name . '_enabled']) ? 'checked' : '') . '> Enable<br>';
|
156 |
-
echo '<textarea style="width: 100%; height: 100px" wrap="off" name="options[' . $name . ']">' .
|
157 |
-
htmlspecialchars($options[$name]) . '</textarea>';
|
158 |
-
echo '<p class="description">' . $tips . '</p>';
|
159 |
-
echo '</td>';
|
160 |
-
}
|
161 |
-
|
162 |
-
function hefo_rule($number) {
|
163 |
-
global $options;
|
164 |
-
if (!isset($options['inner_pos_' . $number]))
|
165 |
-
$options['inner_pos_' . $number] = 'after';
|
166 |
-
if (!isset($options['inner_skip_' . $number]))
|
167 |
-
$options['inner_skip_' . $number] = 0;
|
168 |
-
if (!isset($options['inner_tag_' . $number]))
|
169 |
-
$options['inner_tag_' . $number] = '';
|
170 |
-
|
171 |
-
echo '<div class="rules">';
|
172 |
-
echo '<div style="float: left">Inject</div>';
|
173 |
-
echo '<select style="float: left" name="options[inner_pos_' . $number . ']">';
|
174 |
-
echo '<option value="after"';
|
175 |
-
echo $options['inner_pos_' . $number] == 'after' ? ' selected' : '';
|
176 |
-
echo '>after</option>';
|
177 |
-
echo '<option value="before"';
|
178 |
-
echo $options['inner_pos_' . $number] == 'before' ? ' selected' : '';
|
179 |
-
echo '>before</option>';
|
180 |
-
echo '</select>';
|
181 |
-
echo '<input style="float: left" type="text" placeholder="marker" name="options[inner_tag_' . $number . ']" value="';
|
182 |
-
echo esc_attr($options['inner_tag_' . $number]);
|
183 |
-
echo '">';
|
184 |
-
echo '<div style="float: left">skipping</div>';
|
185 |
-
echo '<input style="float: left" type="text" size="5" name="options[inner_skip_' . $number . ']" value="';
|
186 |
-
echo esc_attr($options['inner_skip_' . $number]);
|
187 |
-
echo '">';
|
188 |
-
echo '<div style="float: left">chars, on failure inject</div>';
|
189 |
-
echo '<select style="float: left" name="options[inner_alt_' . $number . ']">';
|
190 |
-
echo '<option value=""';
|
191 |
-
echo $options['inner_alt_' . $number] == 'after' ? ' selected' : '';
|
192 |
-
echo '>nowhere</option>';
|
193 |
-
echo '<option value="after"';
|
194 |
-
echo $options['inner_alt_' . $number] == 'after' ? ' selected' : '';
|
195 |
-
echo '>after the content</option>';
|
196 |
-
echo '<option value="before"';
|
197 |
-
echo $options['inner_alt_' . $number] == 'before' ? ' selected' : '';
|
198 |
-
echo '>before the content</option>';
|
199 |
-
echo '</select>';
|
200 |
-
echo '<div class="clearfix"></div></div>';
|
201 |
-
}
|
202 |
-
|
203 |
if (isset($_POST['save'])) {
|
204 |
if (!wp_verify_nonce($_POST['_wpnonce'], 'save'))
|
205 |
die('Page expired');
|
@@ -218,33 +32,21 @@ if (isset($_POST['save'])) {
|
|
218 |
$options['mobile_user_agents_parsed'] = implode('|', $agents2);
|
219 |
|
220 |
update_option('hefo', $options);
|
221 |
-
}
|
222 |
-
|
223 |
-
else {
|
224 |
$options = get_option('hefo');
|
225 |
}
|
226 |
-
|
227 |
-
wp_enqueue_code_editor(['type'=>'php']);
|
228 |
?>
|
229 |
|
230 |
<script>
|
231 |
-
|
232 |
-
|
233 |
jQuery("textarea.hefo-cm").each(function () {
|
234 |
wp.codeEditor.initialize(this);
|
235 |
});
|
236 |
-
|
237 |
-
});
|
238 |
-
</script>
|
239 |
-
|
240 |
-
<script>
|
241 |
-
var hefo_cm;
|
242 |
-
|
243 |
-
var hefo_tabs;
|
244 |
-
jQuery(document).ready(function () {
|
245 |
-
jQuery("#tab-container").easytabs();
|
246 |
});
|
247 |
</script>
|
|
|
248 |
<div class="wrap">
|
249 |
<!--https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5PHGDGNHAYLJ8-->
|
250 |
|
@@ -254,7 +56,7 @@ wp_enqueue_code_editor(['type'=>'php']);
|
|
254 |
<div class="notice notice-success"><p>
|
255 |
I never asked before and I'm curious: <a href="http://wordpress.org/extend/plugins/header-footer/" target="_blank"><strong>would you rate this plugin</strong></a>?
|
256 |
(takes only few seconds required - account on WordPress.org, every blog owner should have one...). <strong>Really appreciated, Stefano</strong>.
|
257 |
-
<a class="hefo-dismiss" href="<?php echo wp_nonce_url($_SERVER['REQUEST_URI'] . '&dismiss=rate&noheader=1') ?>">×</a>
|
258 |
</p>
|
259 |
</div>
|
260 |
<?php } ?>
|
@@ -268,12 +70,12 @@ wp_enqueue_code_editor(['type'=>'php']);
|
|
268 |
<input type="email" name="ne" value="<?php echo esc_attr(get_option('admin_email')) ?>">
|
269 |
<input type="submit" value="Subscribe">
|
270 |
</form>
|
271 |
-
<a class="hefo-dismiss" href="<?php echo wp_nonce_url($_SERVER['REQUEST_URI'] . '&dismiss=newsletter&noheader=1') ?>">×</a>
|
272 |
</p>
|
273 |
</div>
|
274 |
<?php } ?>
|
275 |
|
276 |
-
<div style="padding: 15px; background-color: #fff; border: 1px solid #eee; font-size: 16px; line-height: 22px">
|
277 |
Did this plugin save you lot of time and troubles?
|
278 |
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5PHGDGNHAYLJ8" target="_blank"><img style="vertical-align: bottom" src="<?php echo plugins_url('header-footer') ?>/images/donate.png"></a>
|
279 |
To help children. Even <b>2$</b> help. <a href="http://www.satollo.net/donations" target="_blank">Please read more</a>. Thank you.
|
@@ -282,372 +84,372 @@ wp_enqueue_code_editor(['type'=>'php']);
|
|
282 |
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5PHGDGNHAYLJ8" target="_blank">donation</a>. Thank you.
|
283 |
</div>
|
284 |
|
285 |
-
<
|
286 |
-
|
287 |
-
|
288 |
-
|
289 |
-
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
}
|
301 |
-
?>
|
302 |
-
</p>
|
303 |
|
304 |
<form method="post" action="">
|
305 |
<?php wp_nonce_field('save') ?>
|
306 |
|
307 |
-
<
|
308 |
-
<
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
-
<li
|
314 |
-
<li
|
315 |
-
<li
|
316 |
-
<li
|
317 |
-
<li
|
318 |
-
<li
|
|
|
|
|
|
|
|
|
319 |
</ul>
|
320 |
|
321 |
-
<div class="panel-container">
|
322 |
|
323 |
-
|
324 |
|
325 |
-
|
326 |
-
|
327 |
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
</div>
|
332 |
-
<div class="col-2">
|
333 |
-
<label><?php esc_html_e('Only on the home page', 'header-footer')?></label>
|
334 |
-
<?php hefo_base_textarea_cm('head_home'); ?>
|
335 |
-
</div>
|
336 |
</div>
|
|
|
|
|
|
|
|
|
|
|
337 |
|
338 |
-
|
339 |
-
|
340 |
-
|
341 |
-
<div class="col-2">
|
342 |
-
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
343 |
-
<?php hefo_base_textarea_cm('body'); ?>
|
344 |
-
</div>
|
345 |
-
<div class="col-2">
|
346 |
-
<?php hefo_base_checkbox('mobile_body_enabled', __('Mobile', 'header-footer')); ?>
|
347 |
-
<?php hefo_base_textarea_cm('mobile_body'); ?>
|
348 |
-
</div>
|
349 |
|
|
|
|
|
|
|
350 |
</div>
|
351 |
-
<
|
352 |
-
|
353 |
-
|
354 |
-
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
355 |
-
<?php hefo_base_textarea_cm('footer'); ?>
|
356 |
-
</div>
|
357 |
-
<div class="col-2">
|
358 |
-
<?php hefo_base_checkbox('mobile_footer_enabled', __('Mobile', 'header-footer')); ?>
|
359 |
-
<?php hefo_base_textarea_cm('mobile_footer'); ?>
|
360 |
-
</div>
|
361 |
</div>
|
362 |
|
363 |
-
<div class="clearfix"></div>
|
364 |
-
|
365 |
</div>
|
366 |
-
|
367 |
-
<div
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
</div>
|
377 |
-
<div class="col-2">
|
378 |
-
<?php hefo_base_checkbox('mobile_generic_enabled_' . $i, __('Mobile', 'header-footer')); ?>
|
379 |
-
<?php hefo_base_textarea_cm('mobile_generic_' . $i); ?>
|
380 |
-
</div>
|
381 |
-
</div>
|
382 |
-
<div class="clearfix"></div>
|
383 |
-
<?php } ?>
|
384 |
-
<div class="clearfix"></div>
|
385 |
</div>
|
386 |
|
|
|
387 |
|
|
|
388 |
|
389 |
-
|
390 |
-
<p>
|
391 |
-
Please take the time to <a href="http://www.satollo.net/plugins/header-footer" target="_blank">read this page</a> to understand how the "mobile" configuration works.
|
392 |
-
See the "advanced tab" to configure the mobile device detection.
|
393 |
-
</p>
|
394 |
|
395 |
-
|
|
|
|
|
396 |
<div class="row">
|
397 |
-
|
398 |
<div class="col-2">
|
399 |
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
400 |
-
<?php hefo_base_textarea_cm('
|
401 |
</div>
|
402 |
<div class="col-2">
|
403 |
-
<?php hefo_base_checkbox('
|
404 |
-
<?php hefo_base_textarea_cm('
|
405 |
</div>
|
406 |
</div>
|
407 |
-
|
408 |
<div class="clearfix"></div>
|
|
|
|
|
|
|
409 |
|
410 |
-
<h3><?php esc_html_e('After the post content', 'header-footer'); ?></h3>
|
411 |
-
<div class="row">
|
412 |
|
413 |
-
<div class="col-2">
|
414 |
-
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
415 |
-
<?php hefo_base_textarea_cm('after'); ?>
|
416 |
-
</div>
|
417 |
-
<div class="col-2">
|
418 |
-
<?php hefo_base_checkbox('mobile_after_enabled', __('Mobile', 'header-footer')); ?>
|
419 |
-
<?php hefo_base_textarea_cm('mobile_after'); ?>
|
420 |
-
</div>
|
421 |
-
</div>
|
422 |
|
423 |
-
|
424 |
-
|
425 |
-
|
426 |
-
|
427 |
-
|
428 |
-
</table>
|
429 |
|
430 |
-
|
431 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
432 |
</div>
|
433 |
|
|
|
434 |
|
435 |
-
<
|
436 |
-
|
437 |
-
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
-
|
444 |
-
|
445 |
-
|
446 |
-
<?php hefo_base_checkbox('mobile_inner_enabled_' . $i, __('Mobile', 'header-footer')); ?>
|
447 |
-
<?php hefo_base_textarea_cm('mobile_inner_' . $i); ?>
|
448 |
-
</div>
|
449 |
-
</div>
|
450 |
-
<div class="clearfix"></div>
|
451 |
-
<?php } ?>
|
452 |
</div>
|
453 |
|
|
|
|
|
|
|
|
|
|
|
|
|
454 |
|
455 |
-
<div id="tabs-page">
|
456 |
|
457 |
-
|
458 |
-
|
459 |
-
<?php hefo_base_checkbox('page_add_categories', __('Let pages to have categories', 'header-footer')); ?>
|
460 |
|
461 |
-
<h3><?php _e('Before the page content', 'header-footer') ?></h3>
|
462 |
-
<div class="row">
|
463 |
|
|
|
|
|
|
|
|
|
|
|
|
|
464 |
<div class="col-2">
|
465 |
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
466 |
-
<?php hefo_base_textarea_cm('
|
467 |
</div>
|
468 |
<div class="col-2">
|
469 |
-
<?php hefo_base_checkbox('
|
470 |
-
<?php hefo_base_textarea_cm('
|
471 |
</div>
|
472 |
</div>
|
473 |
-
|
474 |
<div class="clearfix"></div>
|
|
|
|
|
475 |
|
476 |
-
<h3><?php _e('After the page content', 'header-footer') ?></h3>
|
477 |
-
<div class="row">
|
478 |
|
479 |
-
|
480 |
-
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
481 |
-
<?php hefo_base_textarea_cm('page_after'); ?>
|
482 |
-
</div>
|
483 |
-
<div class="col-2">
|
484 |
-
<?php hefo_base_checkbox('mobile_page_after_enabled', __('Mobile', 'header-footer')); ?><br>
|
485 |
-
<?php hefo_base_textarea_cm('mobile_page_after'); ?>
|
486 |
-
</div>
|
487 |
-
</div>
|
488 |
|
489 |
-
|
|
|
|
|
|
|
|
|
|
|
490 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
491 |
</div>
|
492 |
-
|
493 |
-
<div
|
494 |
-
|
495 |
-
|
496 |
-
|
497 |
-
|
498 |
-
|
499 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
500 |
</div>
|
501 |
|
502 |
-
|
503 |
|
504 |
-
|
505 |
-
<p>
|
506 |
-
You need the <a href="https://it.wordpress.org/plugins/amp/" target="_blank">AMP</a> plugin. Other AMP plugins could be supported
|
507 |
-
in the near future.
|
508 |
-
</p>
|
509 |
|
510 |
-
|
511 |
-
|
512 |
-
|
513 |
-
|
514 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
515 |
</div>
|
|
|
516 |
|
517 |
-
|
518 |
|
519 |
-
|
520 |
-
|
521 |
-
|
522 |
-
|
523 |
-
</div>
|
524 |
</div>
|
525 |
-
|
526 |
-
<div class="clearfix"></div>
|
527 |
|
528 |
-
|
529 |
-
|
530 |
-
|
531 |
-
|
532 |
-
|
|
|
533 |
</div>
|
|
|
534 |
|
535 |
|
536 |
-
|
537 |
|
538 |
-
|
539 |
-
|
540 |
-
|
541 |
|
542 |
-
|
543 |
-
</div>
|
544 |
</div>
|
|
|
545 |
|
546 |
-
|
547 |
|
548 |
-
|
549 |
-
|
550 |
|
551 |
-
|
552 |
|
553 |
-
|
554 |
|
555 |
-
</div>
|
556 |
</div>
|
557 |
-
|
|
|
558 |
|
559 |
-
|
560 |
-
|
561 |
|
562 |
-
|
563 |
|
564 |
-
|
565 |
|
566 |
-
</div>
|
567 |
</div>
|
568 |
-
<div class="clearfix"></div>
|
569 |
-
|
570 |
</div>
|
|
|
571 |
|
|
|
572 |
|
573 |
-
<div id="tabs-5">
|
574 |
-
<p>
|
575 |
-
<?php _e('Common snippets that can be used in any header or footer area referring them as [snippet_N] where N is the snippet number
|
576 |
-
from 1 to 5. Snippets are inserted before PHP evaluation.', 'header-footer'); ?><br />
|
577 |
-
<?php _e('Useful for social button to be placed before and after the post or in posts and pages.', 'header-footer'); ?>
|
578 |
-
</p>
|
579 |
-
<table class="form-table">
|
580 |
-
<? for ($i=1; $i<=5; $i++) { ?>
|
581 |
-
<tr valign="top"><?php hefo_field_textarea('snippet_' . $i, __('Snippet ' . $i, 'header-footer'), '', 'rows="10"'); ?></tr>
|
582 |
-
<? } ?>
|
583 |
-
</table>
|
584 |
-
<div class="clearfix"></div>
|
585 |
-
</div>
|
586 |
|
587 |
-
|
588 |
-
|
589 |
-
|
590 |
-
|
591 |
-
|
592 |
-
|
593 |
-
|
594 |
-
|
595 |
-
|
596 |
-
|
597 |
-
|
598 |
-
|
599 |
-
|
600 |
-
<p>
|
601 |
-
WordPress automatically add some meta link on the head of the page, for example the RSS links, the previous and next
|
602 |
-
post links and so on. Here you can disable those links if not of interest.
|
603 |
-
</p>
|
604 |
-
<table class="form-table">
|
605 |
-
<tr valign="top">
|
606 |
-
<th scope="row">Disable css link id</th>
|
607 |
-
<?php hefo_field_checkbox_only('disable_css_id', __('Disable the id attribute on css links generated by WordPress', 'header-footer'), '', 'http://www.satollo.net/plugins/header-footer#disable_css_id'); ?>
|
608 |
-
</tr>
|
609 |
-
<tr valign="top">
|
610 |
-
<th scope="row">Disable css media</th>
|
611 |
-
<?php hefo_field_checkbox_only('disable_css_media', __('Disable the media attribute on css links generated by WordPress, id the option above is enabled.', 'header-footer'), '', 'http://www.satollo.net/plugins/header-footer#disable_css_media'); ?>
|
612 |
-
</tr>
|
613 |
-
<tr valign="top">
|
614 |
-
<th scope="row">Extra feed links</th>
|
615 |
-
<?php hefo_field_checkbox_only('disable_feed_links_extra', __('Disable extra feed links like category feeds or single post comments feeds', 'header-footer')); ?>
|
616 |
-
</tr>
|
617 |
-
<tr valign="top">
|
618 |
-
<th scope="row">Short link</th>
|
619 |
-
<?php hefo_field_checkbox_only('disable_wp_shortlink_wp_head', __('Disable the short link for posts', 'header-footer')); ?>
|
620 |
-
</tr>
|
621 |
-
<tr valign="top">
|
622 |
-
<th scope="row">WLW Manifest</th>
|
623 |
-
<?php hefo_field_checkbox_only('disable_wlwmanifest_link', __('Disable the Windows Live Writer manifest', 'header-footer')); ?>
|
624 |
-
</tr>
|
625 |
-
<tr valign="top">
|
626 |
-
<th scope="row">RSD link</th>
|
627 |
-
<?php hefo_field_checkbox_only('disable_rsd_link', __('Disable RSD link', 'header-footer')); ?>
|
628 |
-
</tr>
|
629 |
-
<tr valign="top">
|
630 |
-
<th scope="row">Adjacent post links</th>
|
631 |
-
<?php hefo_field_checkbox_only('disable_adjacent_posts_rel_link_wp_head', __('Disable adjacent post links', 'header-footer')); ?>
|
632 |
-
</tr>
|
633 |
-
</table>
|
634 |
-
<div class="clearfix"></div>
|
635 |
-
</div>
|
636 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
637 |
|
638 |
-
<div id="tabs-7">
|
639 |
-
<table class="form-table">
|
640 |
-
<tr valign="top"><?php hefo_field_textarea('notes', __('Notes and parked codes', 'header-footer'), '', 'rows="10"'); ?></tr>
|
641 |
-
</table>
|
642 |
-
<div class="clearfix"></div>
|
643 |
-
</div>
|
644 |
|
645 |
-
|
|
|
|
|
|
|
|
|
646 |
</div>
|
647 |
|
|
|
|
|
|
|
648 |
</div>
|
649 |
<p>* if no mobile alternative is activated</p>
|
650 |
-
<p class="submit"><input type="submit" class="button" name="save" value="<?php _e('save', 'header-footer'); ?>"></p>
|
651 |
|
652 |
</form>
|
653 |
</div>
|
3 |
load_plugin_textdomain('header-footer', false, 'header-footer/languages');
|
4 |
}
|
5 |
|
6 |
+
require_once __DIR__ . '/controls.php';
|
7 |
|
8 |
+
$dismissed = get_option('hefo_dismissed', []);
|
9 |
+
|
10 |
+
if (isset($_REQUEST['dismiss']) && check_admin_referer('dismiss')) {
|
11 |
$dismissed[$_REQUEST['dismiss']] = 1;
|
12 |
update_option('hefo_dismissed', $dismissed);
|
13 |
wp_redirect('?page=header-footer%2Foptions.php');
|
14 |
exit();
|
15 |
}
|
16 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
17 |
if (isset($_POST['save'])) {
|
18 |
if (!wp_verify_nonce($_POST['_wpnonce'], 'save'))
|
19 |
die('Page expired');
|
32 |
$options['mobile_user_agents_parsed'] = implode('|', $agents2);
|
33 |
|
34 |
update_option('hefo', $options);
|
35 |
+
} else {
|
|
|
|
|
36 |
$options = get_option('hefo');
|
37 |
}
|
|
|
|
|
38 |
?>
|
39 |
|
40 |
<script>
|
41 |
+
jQuery(function () {
|
42 |
+
|
43 |
jQuery("textarea.hefo-cm").each(function () {
|
44 |
wp.codeEditor.initialize(this);
|
45 |
});
|
46 |
+
jQuery("#hefo-tabs").tabs();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
47 |
});
|
48 |
</script>
|
49 |
+
|
50 |
<div class="wrap">
|
51 |
<!--https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5PHGDGNHAYLJ8-->
|
52 |
|
56 |
<div class="notice notice-success"><p>
|
57 |
I never asked before and I'm curious: <a href="http://wordpress.org/extend/plugins/header-footer/" target="_blank"><strong>would you rate this plugin</strong></a>?
|
58 |
(takes only few seconds required - account on WordPress.org, every blog owner should have one...). <strong>Really appreciated, Stefano</strong>.
|
59 |
+
<a class="hefo-dismiss" href="<?php echo wp_nonce_url($_SERVER['REQUEST_URI'] . '&dismiss=rate&noheader=1', 'dismiss') ?>">×</a>
|
60 |
</p>
|
61 |
</div>
|
62 |
<?php } ?>
|
70 |
<input type="email" name="ne" value="<?php echo esc_attr(get_option('admin_email')) ?>">
|
71 |
<input type="submit" value="Subscribe">
|
72 |
</form>
|
73 |
+
<a class="hefo-dismiss" href="<?php echo wp_nonce_url($_SERVER['REQUEST_URI'] . '&dismiss=newsletter&noheader=1', 'dismiss') ?>">×</a>
|
74 |
</p>
|
75 |
</div>
|
76 |
<?php } ?>
|
77 |
|
78 |
+
<div style="padding: 15px; background-color: #fff; border: 1px solid #eee; font-size: 16px; line-height: 22px; margin-bottom: 10px;">
|
79 |
Did this plugin save you lot of time and troubles?
|
80 |
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5PHGDGNHAYLJ8" target="_blank"><img style="vertical-align: bottom" src="<?php echo plugins_url('header-footer') ?>/images/donate.png"></a>
|
81 |
To help children. Even <b>2$</b> help. <a href="http://www.satollo.net/donations" target="_blank">Please read more</a>. Thank you.
|
84 |
<a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=5PHGDGNHAYLJ8" target="_blank">donation</a>. Thank you.
|
85 |
</div>
|
86 |
|
87 |
+
<div style="padding: 15px; background-color: #fff; border: 1px solid #eee; font-size: 16px; line-height: 22px">
|
88 |
+
<?php
|
89 |
+
if (apply_filters('hefo_php_exec', true)) {
|
90 |
+
_e('PHP is allowed in your code.','header-footer');
|
91 |
+
} else {
|
92 |
+
_e('PHP is NOT allowed in your code (disabled by your theme or a plugin)', 'header-footer');
|
93 |
+
}
|
94 |
+
?>
|
95 |
+
<br>
|
96 |
+
|
97 |
+
<?php _e('Mobile configuration is <strong>now deprecated</strong>', 'header-footer'); ?>.
|
98 |
+
<a href="https://www.satollo.net/plugins/header-footer" target="_blank" class="readmore"><?php _e('Read more', 'header-footer'); ?></a>
|
99 |
+
|
100 |
+
</div>
|
101 |
+
|
|
|
|
|
|
|
102 |
|
103 |
<form method="post" action="">
|
104 |
<?php wp_nonce_field('save') ?>
|
105 |
|
106 |
+
<p>
|
107 |
+
<input type="submit" class="button-primary" name="save" value="<?php _e('save', 'header-footer'); ?>">
|
108 |
+
</p>
|
109 |
+
|
110 |
+
<div id="hefo-tabs">
|
111 |
+
<ul>
|
112 |
+
<li><a href="#tabs-first"><?php _e('Head and footer', 'header-footer'); ?></a></li>
|
113 |
+
<li><a href="#tabs-post"><?php _e('Posts', 'header-footer'); ?></a></li>
|
114 |
+
<li><a href="#tabs-post-inner"><?php _e('Inside posts', 'header-footer'); ?></a></li>
|
115 |
+
<li><a href="#tabs-page"><?php _e('Pages', 'header-footer'); ?></a></li>
|
116 |
+
<li><a href="#tabs-excerpt"><?php _e('Excerpts', 'header-footer'); ?></a></li>
|
117 |
+
<li><a href="#tabs-5"><?php _e('Snippets', 'header-footer'); ?></a></li>
|
118 |
+
<li><a href="#tabs-amp"><?php _e('AMP', 'header-footer'); ?></a></li>
|
119 |
+
<li><a href="#tabs-generics"><?php _e('Generics', 'header-footer'); ?></a></li>
|
120 |
+
<li><a href="#tabs-8"><?php _e('Advanced', 'header-footer'); ?></a></li>
|
121 |
+
<li><a href="#tabs-7"><?php _e('Notes and...', 'header-footer'); ?></a></li>
|
122 |
</ul>
|
123 |
|
|
|
124 |
|
125 |
+
<div id="tabs-first">
|
126 |
|
127 |
+
<h3><?php esc_html_e('<HEAD> page section injection', 'header-footer') ?></h3>
|
128 |
+
<div class="row">
|
129 |
|
130 |
+
<div class="col-2">
|
131 |
+
<label><?php esc_html_e('On every page', 'header-footer') ?></label>
|
132 |
+
<?php hefo_base_textarea_cm('head'); ?>
|
|
|
|
|
|
|
|
|
|
|
133 |
</div>
|
134 |
+
<div class="col-2">
|
135 |
+
<label><?php esc_html_e('Only on the home page', 'header-footer') ?></label>
|
136 |
+
<?php hefo_base_textarea_cm('head_home'); ?>
|
137 |
+
</div>
|
138 |
+
</div>
|
139 |
|
140 |
+
<h3><?php esc_html_e('After the <BODY> tag', 'header-footer') ?></h3>
|
141 |
+
<div class="row">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
142 |
|
143 |
+
<div class="col-2">
|
144 |
+
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
145 |
+
<?php hefo_base_textarea_cm('body'); ?>
|
146 |
</div>
|
147 |
+
<div class="col-2">
|
148 |
+
<?php hefo_base_checkbox('mobile_body_enabled', __('Mobile', 'header-footer')); ?>
|
149 |
+
<?php hefo_base_textarea_cm('mobile_body'); ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
150 |
</div>
|
151 |
|
|
|
|
|
152 |
</div>
|
153 |
+
<h3><?php esc_html_e('Before the </BODY> closing tag (footer)', 'header-footer') ?></h3>
|
154 |
+
<div class="row">
|
155 |
+
<div class="col-2">
|
156 |
+
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
157 |
+
<?php hefo_base_textarea_cm('footer'); ?>
|
158 |
+
</div>
|
159 |
+
<div class="col-2">
|
160 |
+
<?php hefo_base_checkbox('mobile_footer_enabled', __('Mobile', 'header-footer')); ?>
|
161 |
+
<?php hefo_base_textarea_cm('mobile_footer'); ?>
|
162 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
</div>
|
164 |
|
165 |
+
<div class="clearfix"></div>
|
166 |
|
167 |
+
</div>
|
168 |
|
169 |
+
<div id="tabs-generics">
|
|
|
|
|
|
|
|
|
170 |
|
171 |
+
<?php for ($i = 1; $i <= 5; $i++) { ?>
|
172 |
+
<h3>Generic injection <?php echo $i; ?></h3>
|
173 |
+
<p>Inject before the <?php hefo_base_text('generic_tag_' . $i); ?> marker</p>
|
174 |
<div class="row">
|
|
|
175 |
<div class="col-2">
|
176 |
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
177 |
+
<?php hefo_base_textarea_cm('generic_' . $i); ?>
|
178 |
</div>
|
179 |
<div class="col-2">
|
180 |
+
<?php hefo_base_checkbox('mobile_generic_enabled_' . $i, __('Mobile', 'header-footer')); ?>
|
181 |
+
<?php hefo_base_textarea_cm('mobile_generic_' . $i); ?>
|
182 |
</div>
|
183 |
</div>
|
|
|
184 |
<div class="clearfix"></div>
|
185 |
+
<?php } ?>
|
186 |
+
<div class="clearfix"></div>
|
187 |
+
</div>
|
188 |
|
|
|
|
|
189 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
190 |
|
191 |
+
<div id="tabs-post">
|
192 |
+
<p>
|
193 |
+
Please take the time to <a href="http://www.satollo.net/plugins/header-footer" target="_blank">read this page</a> to understand how the "mobile" configuration works.
|
194 |
+
See the "advanced tab" to configure the mobile device detection.
|
195 |
+
</p>
|
|
|
196 |
|
197 |
+
<h3><?php esc_html_e('Before the post content', 'header-footer'); ?></h3>
|
198 |
+
<div class="row">
|
199 |
+
|
200 |
+
<div class="col-2">
|
201 |
+
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
202 |
+
<?php hefo_base_textarea_cm('before'); ?>
|
203 |
+
</div>
|
204 |
+
<div class="col-2">
|
205 |
+
<?php hefo_base_checkbox('mobile_before_enabled', __('Mobile', 'header-footer')); ?>
|
206 |
+
<?php hefo_base_textarea_cm('mobile_before'); ?>
|
207 |
+
</div>
|
208 |
</div>
|
209 |
|
210 |
+
<div class="clearfix"></div>
|
211 |
|
212 |
+
<h3><?php esc_html_e('After the post content', 'header-footer'); ?></h3>
|
213 |
+
<div class="row">
|
214 |
+
|
215 |
+
<div class="col-2">
|
216 |
+
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
217 |
+
<?php hefo_base_textarea_cm('after'); ?>
|
218 |
+
</div>
|
219 |
+
<div class="col-2">
|
220 |
+
<?php hefo_base_checkbox('mobile_after_enabled', __('Mobile', 'header-footer')); ?>
|
221 |
+
<?php hefo_base_textarea_cm('mobile_after'); ?>
|
222 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
223 |
</div>
|
224 |
|
225 |
+
<!--<h3>Posts and pages</h3>-->
|
226 |
+
<table class="form-table">
|
227 |
+
<!--<tr valign="top"><?php hefo_field_checkbox('category', __('Enable injection on category pages', 'header-footer')); ?></tr>-->
|
228 |
+
<tr valign="top"><?php //hefo_field_textarea('before', __('Code to be inserted before each post', 'header-footer'), '', 'rows="10"'); ?></tr>
|
229 |
+
<tr valign="top"><?php //hefo_field_textarea('after', __('Code to be inserted after each post', 'header-footer'), '', 'rows="10"'); ?></tr>
|
230 |
+
</table>
|
231 |
|
|
|
232 |
|
233 |
+
<div class="clearfix"></div>
|
234 |
+
</div>
|
|
|
235 |
|
|
|
|
|
236 |
|
237 |
+
<div id="tabs-post-inner">
|
238 |
+
|
239 |
+
<?php for ($i = 1; $i <= 5; $i++) { ?>
|
240 |
+
<h3>Inner post injection <?php echo $i; ?></h3>
|
241 |
+
<?php hefo_rule($i); ?>
|
242 |
+
<div class="row">
|
243 |
<div class="col-2">
|
244 |
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
245 |
+
<?php hefo_base_textarea_cm('inner_' . $i); ?>
|
246 |
</div>
|
247 |
<div class="col-2">
|
248 |
+
<?php hefo_base_checkbox('mobile_inner_enabled_' . $i, __('Mobile', 'header-footer')); ?>
|
249 |
+
<?php hefo_base_textarea_cm('mobile_inner_' . $i); ?>
|
250 |
</div>
|
251 |
</div>
|
|
|
252 |
<div class="clearfix"></div>
|
253 |
+
<?php } ?>
|
254 |
+
</div>
|
255 |
|
|
|
|
|
256 |
|
257 |
+
<div id="tabs-page">
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
258 |
|
259 |
+
<?php hefo_base_checkbox('page_use_post', __('Use the post configurations', 'header-footer')); ?><br>
|
260 |
+
<?php hefo_base_checkbox('page_add_tags', __('Let pages to have tags', 'header-footer')); ?><br>
|
261 |
+
<?php hefo_base_checkbox('page_add_categories', __('Let pages to have categories', 'header-footer')); ?>
|
262 |
+
|
263 |
+
<h3><?php _e('Before the page content', 'header-footer') ?></h3>
|
264 |
+
<div class="row">
|
265 |
|
266 |
+
<div class="col-2">
|
267 |
+
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
268 |
+
<?php hefo_base_textarea_cm('page_before'); ?>
|
269 |
+
</div>
|
270 |
+
<div class="col-2">
|
271 |
+
<?php hefo_base_checkbox('mobile_page_before_enabled', __('Mobile', 'header-footer')); ?><br>
|
272 |
+
<?php hefo_base_textarea_cm('mobile_page_before'); ?>
|
273 |
+
</div>
|
274 |
</div>
|
275 |
+
|
276 |
+
<div class="clearfix"></div>
|
277 |
+
|
278 |
+
<h3><?php _e('After the page content', 'header-footer') ?></h3>
|
279 |
+
<div class="row">
|
280 |
+
|
281 |
+
<div class="col-2">
|
282 |
+
<label><?php _e('Desktop', 'header-footer') ?>*</label>
|
283 |
+
<?php hefo_base_textarea_cm('page_after'); ?>
|
284 |
+
</div>
|
285 |
+
<div class="col-2">
|
286 |
+
<?php hefo_base_checkbox('mobile_page_after_enabled', __('Mobile', 'header-footer')); ?><br>
|
287 |
+
<?php hefo_base_textarea_cm('mobile_page_after'); ?>
|
288 |
+
</div>
|
289 |
</div>
|
290 |
|
291 |
+
<div class="clearfix"></div>
|
292 |
|
293 |
+
</div>
|
|
|
|
|
|
|
|
|
294 |
|
295 |
+
<div id="tabs-excerpt">
|
296 |
+
|
297 |
+
<p><?php _e('It works only on category and tag pages.', 'header-footer'); ?></p>
|
298 |
+
<table class="form-table">
|
299 |
+
<tr valign="top"><?php hefo_field_textarea('excerpt_before', __('Code to be inserted before each post excerpt', 'header-footer'), '', 'rows="10"'); ?></tr>
|
300 |
+
<tr valign="top"><?php hefo_field_textarea('excerpt_after', __('Code to be inserted after each post excerpt', 'header-footer'), '', 'rows="10"'); ?></tr>
|
301 |
+
</table>
|
302 |
+
</div>
|
303 |
+
|
304 |
+
<!-- AMP -->
|
305 |
+
|
306 |
+
<div id="tabs-amp">
|
307 |
+
<p>
|
308 |
+
You need the <a href="https://it.wordpress.org/plugins/amp/" target="_blank">AMP</a> plugin. Other AMP plugins could be supported
|
309 |
+
in the near future.
|
310 |
+
</p>
|
311 |
+
|
312 |
+
<h3><?php esc_html_e('<HEAD> page section', 'header-footer') ?></h3>
|
313 |
+
<div class="row">
|
314 |
+
<div class="col-1">
|
315 |
+
<?php hefo_base_textarea_cm('amp_head'); ?>
|
316 |
</div>
|
317 |
+
</div>
|
318 |
|
319 |
+
<div class="clearfix"></div>
|
320 |
|
321 |
+
<h3><?php esc_html_e('Extra CSS', 'header-footer') ?></h3>
|
322 |
+
<div class="row">
|
323 |
+
<div class="col-1">
|
324 |
+
<?php hefo_base_textarea_cm('amp_css'); ?>
|
|
|
325 |
</div>
|
326 |
+
</div>
|
|
|
327 |
|
328 |
+
<div class="clearfix"></div>
|
329 |
+
|
330 |
+
<h3><?php esc_html_e('Just after the <BODY> tag', 'header-footer') ?></h3>
|
331 |
+
<div class="row">
|
332 |
+
<div class="col-1">
|
333 |
+
<?php hefo_base_textarea_cm('amp_body'); ?>
|
334 |
</div>
|
335 |
+
</div>
|
336 |
|
337 |
|
338 |
+
<div class="clearfix"></div>
|
339 |
|
340 |
+
<h3><?php esc_html_e('Before the post content', 'header-footer') ?></h3>
|
341 |
+
<div class="row">
|
342 |
+
<div class="col-1">
|
343 |
|
344 |
+
<?php hefo_base_textarea_cm('amp_post_before'); ?>
|
|
|
345 |
</div>
|
346 |
+
</div>
|
347 |
|
348 |
+
<div class="clearfix"></div>
|
349 |
|
350 |
+
<h3><?php esc_html_e('After the post content', 'header-footer') ?></h3>
|
351 |
+
<div class="row">
|
352 |
|
353 |
+
<div class="col-1">
|
354 |
|
355 |
+
<?php hefo_base_textarea_cm('amp_post_after'); ?>
|
356 |
|
|
|
357 |
</div>
|
358 |
+
</div>
|
359 |
+
<div class="clearfix"></div>
|
360 |
|
361 |
+
<h3><?php esc_html_e('Footer', 'header-footer') ?></h3>
|
362 |
+
<div class="row">
|
363 |
|
364 |
+
<div class="col-1">
|
365 |
|
366 |
+
<?php hefo_base_textarea_cm('amp_footer'); ?>
|
367 |
|
|
|
368 |
</div>
|
|
|
|
|
369 |
</div>
|
370 |
+
<div class="clearfix"></div>
|
371 |
|
372 |
+
</div>
|
373 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
374 |
|
375 |
+
<div id="tabs-5">
|
376 |
+
<p>
|
377 |
+
<?php _e('Common snippets that can be used in any header or footer area referring them as [snippet_N] where N is the snippet number
|
378 |
+
from 1 to 5. Snippets are inserted before PHP evaluation.', 'header-footer'); ?><br />
|
379 |
+
<?php _e('Useful for social button to be placed before and after the post or in posts and pages.', 'header-footer'); ?>
|
380 |
+
</p>
|
381 |
+
<table class="form-table">
|
382 |
+
<? for ($i=1; $i<=5; $i++) { ?>
|
383 |
+
<tr valign="top"><?php hefo_field_textarea('snippet_' . $i, __('Snippet ' . $i, 'header-footer'), '', 'rows="10"'); ?></tr>
|
384 |
+
<? } ?>
|
385 |
+
</table>
|
386 |
+
<div class="clearfix"></div>
|
387 |
+
</div>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
388 |
|
389 |
+
<div id="tabs-8">
|
390 |
+
<table class="form-table">
|
391 |
+
<tr valign="top">
|
392 |
+
<?php
|
393 |
+
hefo_field_textarea('mobile_user_agents', __('Mobile user agent strings', 'header-footer'), 'For coders: a regular expression is built with those values and the resulting code will be<br>'
|
394 |
+
. '<code>preg_match(\'/' . $options['mobile_user_agents_parsed'] . '/\', ...);</code><br>' .
|
395 |
+
'<a href="http://www.satollo.net/plugins/header-footer" target="_blank">Read this page</a> for more.', 'rows="10"');
|
396 |
+
?>
|
397 |
+
|
398 |
+
</tr>
|
399 |
+
</table>
|
400 |
+
|
401 |
+
<h3>Head meta links</h3>
|
402 |
+
<p>
|
403 |
+
WordPress automatically add some meta link on the head of the page, for example the RSS links, the previous and next
|
404 |
+
post links and so on. Here you can disable those links if not of interest.
|
405 |
+
</p>
|
406 |
+
<table class="form-table">
|
407 |
+
<tr valign="top">
|
408 |
+
<th scope="row">Disable css link id</th>
|
409 |
+
<?php hefo_field_checkbox_only('disable_css_id', __('Disable the id attribute on css links generated by WordPress', 'header-footer'), '', 'http://www.satollo.net/plugins/header-footer#disable_css_id'); ?>
|
410 |
+
</tr>
|
411 |
+
<tr valign="top">
|
412 |
+
<th scope="row">Disable css media</th>
|
413 |
+
<?php hefo_field_checkbox_only('disable_css_media', __('Disable the media attribute on css links generated by WordPress, id the option above is enabled.', 'header-footer'), '', 'http://www.satollo.net/plugins/header-footer#disable_css_media'); ?>
|
414 |
+
</tr>
|
415 |
+
<tr valign="top">
|
416 |
+
<th scope="row">Extra feed links</th>
|
417 |
+
<?php hefo_field_checkbox_only('disable_feed_links_extra', __('Disable extra feed links like category feeds or single post comments feeds', 'header-footer')); ?>
|
418 |
+
</tr>
|
419 |
+
<tr valign="top">
|
420 |
+
<th scope="row">Short link</th>
|
421 |
+
<?php hefo_field_checkbox_only('disable_wp_shortlink_wp_head', __('Disable the short link for posts', 'header-footer')); ?>
|
422 |
+
</tr>
|
423 |
+
<tr valign="top">
|
424 |
+
<th scope="row">WLW Manifest</th>
|
425 |
+
<?php hefo_field_checkbox_only('disable_wlwmanifest_link', __('Disable the Windows Live Writer manifest', 'header-footer')); ?>
|
426 |
+
</tr>
|
427 |
+
<tr valign="top">
|
428 |
+
<th scope="row">RSD link</th>
|
429 |
+
<?php hefo_field_checkbox_only('disable_rsd_link', __('Disable RSD link', 'header-footer')); ?>
|
430 |
+
</tr>
|
431 |
+
<tr valign="top">
|
432 |
+
<th scope="row">Adjacent post links</th>
|
433 |
+
<?php hefo_field_checkbox_only('disable_adjacent_posts_rel_link_wp_head', __('Disable adjacent post links', 'header-footer')); ?>
|
434 |
+
</tr>
|
435 |
+
</table>
|
436 |
+
<div class="clearfix"></div>
|
437 |
+
</div>
|
438 |
|
|
|
|
|
|
|
|
|
|
|
|
|
439 |
|
440 |
+
<div id="tabs-7">
|
441 |
+
<table class="form-table">
|
442 |
+
<tr valign="top"><?php hefo_field_textarea('notes', __('Notes and parked codes', 'header-footer'), '', 'rows="10"'); ?></tr>
|
443 |
+
</table>
|
444 |
+
<div class="clearfix"></div>
|
445 |
</div>
|
446 |
|
447 |
+
|
448 |
+
|
449 |
+
|
450 |
</div>
|
451 |
<p>* if no mobile alternative is activated</p>
|
452 |
+
<p class="submit"><input type="submit" class="button-primary" name="save" value="<?php _e('save', 'header-footer'); ?>"></p>
|
453 |
|
454 |
</form>
|
455 |
</div>
|
images/social/round/facebook.png
DELETED
Binary file
|
images/social/round/google.png
DELETED
Binary file
|
images/social/round/linkedin.png
DELETED
Binary file
|
images/social/round/twitter.png
DELETED
Binary file
|
images/social/square/facebook.png
DELETED
Binary file
|
images/social/square/google.png
DELETED
Binary file
|
images/social/square/linkedin.png
DELETED
Binary file
|
images/social/square/pinterest.png
DELETED
Binary file
|
images/social/square/twitter.png
DELETED
Binary file
|
lib/easytabs/jquery.easytabs.min.js
DELETED
@@ -1,12 +0,0 @@
|
|
1 |
-
/*
|
2 |
-
* jQuery EasyTabs plugin 3.2.0
|
3 |
-
*
|
4 |
-
* Copyright (c) 2010-2011 Steve Schwartz (JangoSteve)
|
5 |
-
*
|
6 |
-
* Dual licensed under the MIT and GPL licenses:
|
7 |
-
* http://www.opensource.org/licenses/mit-license.php
|
8 |
-
* http://www.gnu.org/licenses/gpl.html
|
9 |
-
*
|
10 |
-
* Date: Thu May 09 17:30:00 2013 -0500
|
11 |
-
*/
|
12 |
-
(function(a){a.easytabs=function(j,e){var f=this,q=a(j),i={animate:true,panelActiveClass:"active",tabActiveClass:"active",defaultTab:"li:first-child",animationSpeed:"normal",tabs:"> ul > li",updateHash:true,cycle:false,collapsible:false,collapsedClass:"collapsed",collapsedByDefault:true,uiTabs:false,transitionIn:"fadeIn",transitionOut:"fadeOut",transitionInEasing:"swing",transitionOutEasing:"swing",transitionCollapse:"slideUp",transitionUncollapse:"slideDown",transitionCollapseEasing:"swing",transitionUncollapseEasing:"swing",containerClass:"",tabsClass:"",tabClass:"",panelClass:"",cache:true,event:"click",panelContext:q},h,l,v,m,d,t={fast:200,normal:400,slow:600},r;f.init=function(){f.settings=r=a.extend({},i,e);r.bind_str=r.event+".easytabs";if(r.uiTabs){r.tabActiveClass="ui-tabs-selected";r.containerClass="ui-tabs ui-widget ui-widget-content ui-corner-all";r.tabsClass="ui-tabs-nav ui-helper-reset ui-helper-clearfix ui-widget-header ui-corner-all";r.tabClass="ui-state-default ui-corner-top";r.panelClass="ui-tabs-panel ui-widget-content ui-corner-bottom"}if(r.collapsible&&e.defaultTab!==undefined&&e.collpasedByDefault===undefined){r.collapsedByDefault=false}if(typeof(r.animationSpeed)==="string"){r.animationSpeed=t[r.animationSpeed]}a("a.anchor").remove().prependTo("body");q.data("easytabs",{});f.setTransitions();f.getTabs();b();g();w();n();c();q.attr("data-easytabs",true)};f.setTransitions=function(){v=(r.animate)?{show:r.transitionIn,hide:r.transitionOut,speed:r.animationSpeed,collapse:r.transitionCollapse,uncollapse:r.transitionUncollapse,halfSpeed:r.animationSpeed/2}:{show:"show",hide:"hide",speed:0,collapse:"hide",uncollapse:"show",halfSpeed:0}};f.getTabs=function(){var x;f.tabs=q.find(r.tabs),f.panels=a(),f.tabs.each(function(){var A=a(this),z=A.children("a"),y=A.children("a").data("target");A.data("easytabs",{});if(y!==undefined&&y!==null){A.data("easytabs").ajax=z.attr("href")}else{y=z.attr("href")}y=y.match(/#([^\?]+)/)[1];x=r.panelContext.find("#"+y);if(x.length){x.data("easytabs",{position:x.css("position"),visibility:x.css("visibility")});x.not(r.panelActiveClass).hide();f.panels=f.panels.add(x);A.data("easytabs").panel=x}else{f.tabs=f.tabs.not(A);if("console" in window){console.warn("Warning: tab without matching panel for selector '#"+y+"' removed from set")}}})};f.selectTab=function(x,C){var y=window.location,B=y.hash.match(/^[^\?]*/)[0],z=x.parent().data("easytabs").panel,A=x.parent().data("easytabs").ajax;if(r.collapsible&&!d&&(x.hasClass(r.tabActiveClass)||x.hasClass(r.collapsedClass))){f.toggleTabCollapse(x,z,A,C)}else{if(!x.hasClass(r.tabActiveClass)||!z.hasClass(r.panelActiveClass)){o(x,z,A,C)}else{if(!r.cache){o(x,z,A,C)}}}};f.toggleTabCollapse=function(x,y,z,A){f.panels.stop(true,true);if(u(q,"easytabs:before",[x,y,r])){f.tabs.filter("."+r.tabActiveClass).removeClass(r.tabActiveClass).children().removeClass(r.tabActiveClass);if(x.hasClass(r.collapsedClass)){if(z&&(!r.cache||!x.parent().data("easytabs").cached)){q.trigger("easytabs:ajax:beforeSend",[x,y]);y.load(z,function(C,B,D){x.parent().data("easytabs").cached=true;q.trigger("easytabs:ajax:complete",[x,y,C,B,D])})}x.parent().removeClass(r.collapsedClass).addClass(r.tabActiveClass).children().removeClass(r.collapsedClass).addClass(r.tabActiveClass);y.addClass(r.panelActiveClass)[v.uncollapse](v.speed,r.transitionUncollapseEasing,function(){q.trigger("easytabs:midTransition",[x,y,r]);if(typeof A=="function"){A()}})}else{x.addClass(r.collapsedClass).parent().addClass(r.collapsedClass);y.removeClass(r.panelActiveClass)[v.collapse](v.speed,r.transitionCollapseEasing,function(){q.trigger("easytabs:midTransition",[x,y,r]);if(typeof A=="function"){A()}})}}};f.matchTab=function(x){return f.tabs.find("[href='"+x+"'],[data-target='"+x+"']").first()};f.matchInPanel=function(x){return(x&&f.validId(x)?f.panels.filter(":has("+x+")").first():[])};f.validId=function(x){return x.substr(1).match(/^[A-Za-z]+[A-Za-z0-9\-_:\.].$/)};f.selectTabFromHashChange=function(){var y=window.location.hash.match(/^[^\?]*/)[0],x=f.matchTab(y),z;if(r.updateHash){if(x.length){d=true;f.selectTab(x)}else{z=f.matchInPanel(y);if(z.length){y="#"+z.attr("id");x=f.matchTab(y);d=true;f.selectTab(x)}else{if(!h.hasClass(r.tabActiveClass)&&!r.cycle){if(y===""||f.matchTab(m).length||q.closest(y).length){d=true;f.selectTab(l)}}}}}};f.cycleTabs=function(x){if(r.cycle){x=x%f.tabs.length;$tab=a(f.tabs[x]).children("a").first();d=true;f.selectTab($tab,function(){setTimeout(function(){f.cycleTabs(x+1)},r.cycle)})}};f.publicMethods={select:function(x){var y;if((y=f.tabs.filter(x)).length===0){if((y=f.tabs.find("a[href='"+x+"']")).length===0){if((y=f.tabs.find("a"+x)).length===0){if((y=f.tabs.find("[data-target='"+x+"']")).length===0){if((y=f.tabs.find("a[href$='"+x+"']")).length===0){a.error("Tab '"+x+"' does not exist in tab set")}}}}}else{y=y.children("a").first()}f.selectTab(y)}};var u=function(A,x,z){var y=a.Event(x);A.trigger(y,z);return y.result!==false};var b=function(){q.addClass(r.containerClass);f.tabs.parent().addClass(r.tabsClass);f.tabs.addClass(r.tabClass);f.panels.addClass(r.panelClass)};var g=function(){var y=window.location.hash.match(/^[^\?]*/)[0],x=f.matchTab(y).parent(),z;if(x.length===1){h=x;r.cycle=false}else{z=f.matchInPanel(y);if(z.length){y="#"+z.attr("id");h=f.matchTab(y).parent()}else{h=f.tabs.parent().find(r.defaultTab);if(h.length===0){a.error("The specified default tab ('"+r.defaultTab+"') could not be found in the tab set ('"+r.tabs+"') out of "+f.tabs.length+" tabs.")}}}l=h.children("a").first();p(x)};var p=function(z){var y,x;if(r.collapsible&&z.length===0&&r.collapsedByDefault){h.addClass(r.collapsedClass).children().addClass(r.collapsedClass)}else{y=a(h.data("easytabs").panel);x=h.data("easytabs").ajax;if(x&&(!r.cache||!h.data("easytabs").cached)){q.trigger("easytabs:ajax:beforeSend",[l,y]);y.load(x,function(B,A,C){h.data("easytabs").cached=true;q.trigger("easytabs:ajax:complete",[l,y,B,A,C])})}h.data("easytabs").panel.show().addClass(r.panelActiveClass);h.addClass(r.tabActiveClass).children().addClass(r.tabActiveClass)}q.trigger("easytabs:initialised",[l,y])};var w=function(){f.tabs.children("a").bind(r.bind_str,function(x){r.cycle=false;d=false;f.selectTab(a(this));x.preventDefault?x.preventDefault():x.returnValue=false})};var o=function(z,D,E,H){f.panels.stop(true,true);if(u(q,"easytabs:before",[z,D,r])){var A=f.panels.filter(":visible"),y=D.parent(),F,x,C,G,B=window.location.hash.match(/^[^\?]*/)[0];if(r.animate){F=s(D);x=A.length?k(A):0;C=F-x}m=B;G=function(){q.trigger("easytabs:midTransition",[z,D,r]);if(r.animate&&r.transitionIn=="fadeIn"){if(C<0){y.animate({height:y.height()+C},v.halfSpeed).css({"min-height":""})}}if(r.updateHash&&!d){window.location.hash="#"+D.attr("id")}else{d=false}D[v.show](v.speed,r.transitionInEasing,function(){y.css({height:"","min-height":""});q.trigger("easytabs:after",[z,D,r]);if(typeof H=="function"){H()}})};if(E&&(!r.cache||!z.parent().data("easytabs").cached)){q.trigger("easytabs:ajax:beforeSend",[z,D]);D.load(E,function(J,I,K){z.parent().data("easytabs").cached=true;q.trigger("easytabs:ajax:complete",[z,D,J,I,K])})}if(r.animate&&r.transitionOut=="fadeOut"){if(C>0){y.animate({height:(y.height()+C)},v.halfSpeed)}else{y.css({"min-height":y.height()})}}f.tabs.filter("."+r.tabActiveClass).removeClass(r.tabActiveClass).children().removeClass(r.tabActiveClass);f.tabs.filter("."+r.collapsedClass).removeClass(r.collapsedClass).children().removeClass(r.collapsedClass);z.parent().addClass(r.tabActiveClass).children().addClass(r.tabActiveClass);f.panels.filter("."+r.panelActiveClass).removeClass(r.panelActiveClass);D.addClass(r.panelActiveClass);if(A.length){A[v.hide](v.speed,r.transitionOutEasing,G)}else{D[v.uncollapse](v.speed,r.transitionUncollapseEasing,G)}}};var s=function(z){if(z.data("easytabs")&&z.data("easytabs").lastHeight){return z.data("easytabs").lastHeight}var B=z.css("display"),y,x;try{y=a("<div></div>",{position:"absolute",visibility:"hidden",overflow:"hidden"})}catch(A){y=a("<div></div>",{visibility:"hidden",overflow:"hidden"})}x=z.wrap(y).css({position:"relative",visibility:"hidden",display:"block"}).outerHeight();z.unwrap();z.css({position:z.data("easytabs").position,visibility:z.data("easytabs").visibility,display:B});z.data("easytabs").lastHeight=x;return x};var k=function(y){var x=y.outerHeight();if(y.data("easytabs")){y.data("easytabs").lastHeight=x}else{y.data("easytabs",{lastHeight:x})}return x};var n=function(){if(typeof a(window).hashchange==="function"){a(window).hashchange(function(){f.selectTabFromHashChange()})}else{if(a.address&&typeof a.address.change==="function"){a.address.change(function(){f.selectTabFromHashChange()})}}};var c=function(){var x;if(r.cycle){x=f.tabs.index(h);setTimeout(function(){f.cycleTabs(x+1)},r.cycle)}};f.init()};a.fn.easytabs=function(c){var b=arguments;return this.each(function(){var e=a(this),d=e.data("easytabs");if(undefined===d){d=new a.easytabs(this,c);e.data("easytabs",d)}if(d.publicMethods[c]){return d.publicMethods[c](Array.prototype.slice.call(b,1))}})}})(jQuery);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lib/easytabs/tabs.css
DELETED
@@ -1,71 +0,0 @@
|
|
1 |
-
/* Example Styles for Demo */
|
2 |
-
.etabs { margin: 0; padding: 0; }
|
3 |
-
.tab { margin-bottom: 0; display: inline-block; zoom:1; *display:inline; background: #eee; border: solid 1px #999; border-bottom: none; -moz-border-radius: 4px 4px 0 0; -webkit-border-radius: 4px 4px 0 0; }
|
4 |
-
.tab a { font-size: 14px; line-height: 2em; display: block; padding: 0 10px; outline: none; }
|
5 |
-
.tab a:hover { text-decoration: underline; }
|
6 |
-
.tab.active { background: #fff; padding-top: 6px; position: relative; top: 1px; border-color: #666; }
|
7 |
-
.tab a.active { font-weight: bold; }
|
8 |
-
.tab-container .panel-container { background-color: #fff; border: solid #666 1px; padding: 10px; -moz-border-radius: 0 4px 4px 4px; -webkit-border-radius: 0 4px 4px 4px; }
|
9 |
-
.panel-container { margin-bottom: 10px; }
|
10 |
-
|
11 |
-
/* Styles for alternate tabActiveClass */
|
12 |
-
.tab.selected-tab { background: #fff; padding-top: 6px; position: relative; top: 1px; border-color: #666; }
|
13 |
-
.tab a.selected-tab { font-weight: bold; }
|
14 |
-
|
15 |
-
/* Styles for Tabs on Side */
|
16 |
-
#tab-side-container { background: #fff; border: solid 1px; height: 300px; }
|
17 |
-
#tab-side-container ul { height: 300px; list-style: none; margin: 0; padding: 0; background: #ccc; float: left; border-right: solid 1px; }
|
18 |
-
#tab-side-container ul li { width: 100px; margin: 0; padding: 0; text-align: center; }
|
19 |
-
#tab-side-container ul li a { display: block; padding: 15px 0; outline: none; }
|
20 |
-
#tab-side-container ul li a:hover { text-decoration: underline; }
|
21 |
-
#tab-side-container ul li.selected-tab { background: #fff; position: relative; left: 1px; border-style: solid; border-width: 1px 0; }
|
22 |
-
#tab-side-container ul li:first-child.selected-tab { border-top: none; }
|
23 |
-
#tab-side-container ul li a.selected-tab { font-weight: bold; text-decoration: none; }
|
24 |
-
#tab-side-container .panel-container { background: #fff; padding-top: 5px; padding-left: 120px; }
|
25 |
-
|
26 |
-
/* Styles for Tabs on Bottom */
|
27 |
-
#tab-bottom-container { width: 100%; padding: 0; clear: both; }
|
28 |
-
#tab-bottom-container ul { list-style: none; margin: 0; padding: 0; width: 100%; }
|
29 |
-
#tab-bottom-container ul li { float: left; width: 33.33%; margin: 0; padding: 0; text-align: center; border-top: solid 1px; }
|
30 |
-
#tab-bottom-container ul li a { display: block; padding: 15px 0; outline: none; }
|
31 |
-
#tab-bottom-container ul li a:hover { text-decoration: underline; }
|
32 |
-
#tab-bottom-container ul li.active { width: 33%; background: #fff; border: solid 1px; border-top: none; }
|
33 |
-
#tab-bottom-container ul li a.active { font-weight: bold; text-decoration: none; }
|
34 |
-
#tab-bottom-container .panel-container { background: #fff; border: solid 1px; border-bottom: none; padding: 10px; margin-bottom: 0; }
|
35 |
-
|
36 |
-
/* Styles for Collapsible */
|
37 |
-
#tab-collapsible-container { background: #fff; padding: 5px; border: solid 1px; }
|
38 |
-
#tab-collapsible-container ul { margin: 0; padding: 5px 5px 0; background: #ccc; border: solid 1px; }
|
39 |
-
#tab-collapsible-container ul li { display: inline-block; background: #ccc; border: solid 1px; border-bottom: none; margin: 0; }
|
40 |
-
#tab-collapsible-container ul li a { display: block; padding: 5px; outline: none; }
|
41 |
-
#tab-collapsible-container ul li a:hover { text-decoration: underline; }
|
42 |
-
#tab-collapsible-container ul li.active { background: #fff; padding-top: 6px; position: relative; top: 1px; }
|
43 |
-
#tab-collapsible-container ul li a.active { font-weight: bold; }
|
44 |
-
#tab-collapsible-container .panel-container { background: #fff; border: none; padding: 0 10px; background: #fff; }
|
45 |
-
|
46 |
-
/* Styles for Disconnected */
|
47 |
-
#tab-disconnected-container ul { height: 52px; width: 100%; list-style: none; margin: 0; padding: 0; background: #ccc; }
|
48 |
-
#tab-disconnected-container ul li { float: left; width: 33.3%; margin: 0; padding: 0; text-align: center; }
|
49 |
-
#tab-disconnected-container ul li a { display: block; padding: 15px 0; line-height: 20px; outline: none; }
|
50 |
-
#tab-disconnected-container ul li a:hover { text-decoration: underline; }
|
51 |
-
#tab-disconnected-container ul li.active { background: #fff; position: relative; left: 1px; }
|
52 |
-
#tab-disconnected-container ul li a.active { font-weight: bold; text-decoration: none; border: solid 1px; }
|
53 |
-
#tab-disconnected-container .panel-container { background: #fff; padding: 10px; border: solid 1px; }
|
54 |
-
#disconnected-tab3 { background: #fff; padding: 10px 15px; border: solid 1px #999; -moz-border-radius: 5px; -webkit-border-radius: 5px; margin: 15px 0; }
|
55 |
-
|
56 |
-
/* Styles for Transition Options */
|
57 |
-
#tab-transition-container .panel-container { padding: 5px; }
|
58 |
-
#tab-transition-container .panel-container .active { padding: 0 5px; }
|
59 |
-
|
60 |
-
/* Styles for Form Sections */
|
61 |
-
.tab-container fieldset { background: #fff; }
|
62 |
-
.tab-container .field-container { background: #fff; border: solid #666 1px; padding: 10px; -moz-border-radius: 0 4px 4px 4px; -webkit-border-radius: 0 4px 4px 4px; }
|
63 |
-
|
64 |
-
/* Styles for Previous and Next buttons */
|
65 |
-
.prev-tab, .next-tab { display: block; width: 100px; text-align: center; margin-top: 10px; }
|
66 |
-
span.prev-tab, span.next-tab { background: #ccc; }
|
67 |
-
.prev-tab { float: left; }
|
68 |
-
.next-tab { float: right; }
|
69 |
-
|
70 |
-
/* Styles for Twitter Boostrap */
|
71 |
-
#twitter-bootstrap-container { background: #fff; padding: 10px; height: 75px; margin-bottom: 15px; }
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
plugin.php
CHANGED
@@ -4,7 +4,7 @@
|
|
4 |
Plugin Name: Head, Footer and Post Injections
|
5 |
Plugin URI: http://www.satollo.net/plugins/header-footer
|
6 |
Description: Header and Footer lets to add html/javascript code to the head and footer and posts of your blog. Some examples are provided on the <a href="http://www.satollo.net/plugins/header-footer">official page</a>.
|
7 |
-
Version: 3.
|
8 |
Author: Stefano Lissa
|
9 |
Author URI: http://www.satollo.net
|
10 |
Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
|
@@ -30,12 +30,10 @@
|
|
30 |
|
31 |
defined('ABSPATH') || exit;
|
32 |
|
33 |
-
$hefo_options = get_option('hefo',
|
34 |
|
35 |
$hefo_is_mobile = false;
|
36 |
-
if (
|
37 |
-
$hefo_is_mobile = true;
|
38 |
-
} else if (isset($_SERVER['HTTP_USER_AGENT']) && isset($hefo_options['mobile_user_agents_parsed'])) {
|
39 |
$hefo_is_mobile = preg_match('/' . $hefo_options['mobile_user_agents_parsed'] . '/', strtolower($_SERVER['HTTP_USER_AGENT']));
|
40 |
}
|
41 |
|
@@ -62,9 +60,9 @@ if (isset($hefo_options['disable_css_id'])) {
|
|
62 |
register_activation_hook(__FILE__, function () {
|
63 |
$options = get_option('hefo');
|
64 |
if (!is_array($options)) {
|
65 |
-
$options =
|
66 |
}
|
67 |
-
$options = array_merge(
|
68 |
for ($i = 1; $i <= 5; $i++) {
|
69 |
$options['snippet_' . $i] = '';
|
70 |
$options['generic_' . $i] = '';
|
@@ -88,8 +86,9 @@ $hefo_generic_block = array();
|
|
88 |
|
89 |
function hefo_template_redirect() {
|
90 |
global $hefo_body_block, $hefo_generic_block, $hefo_options, $hefo_is_mobile;
|
91 |
-
|
92 |
-
if (function_exists('is_amp_endpoint') && is_amp_endpoint())
|
|
|
93 |
|
94 |
if ($hefo_is_mobile && isset($hefo_options['mobile_body_enabled'])) {
|
95 |
$hefo_body_block = hefo_execute_option('mobile_body');
|
@@ -216,22 +215,24 @@ function hefo_the_content($content) {
|
|
216 |
$type = 'page_';
|
217 |
}
|
218 |
|
219 |
-
if ($
|
220 |
-
$
|
221 |
-
|
222 |
-
|
|
|
|
|
223 |
}
|
224 |
|
225 |
-
if ($
|
226 |
-
$
|
227 |
-
|
228 |
-
|
|
|
|
|
229 |
}
|
230 |
|
231 |
// Rules
|
232 |
|
233 |
-
|
234 |
-
|
235 |
for ($i = 1; $i <= 5; $i++) {
|
236 |
if (empty($hefo_options['inner_tag_' . $i])) {
|
237 |
continue;
|
4 |
Plugin Name: Head, Footer and Post Injections
|
5 |
Plugin URI: http://www.satollo.net/plugins/header-footer
|
6 |
Description: Header and Footer lets to add html/javascript code to the head and footer and posts of your blog. Some examples are provided on the <a href="http://www.satollo.net/plugins/header-footer">official page</a>.
|
7 |
+
Version: 3.2.0
|
8 |
Author: Stefano Lissa
|
9 |
Author URI: http://www.satollo.net
|
10 |
Disclaimer: Use at your own risk. No warranty expressed or implied is provided.
|
30 |
|
31 |
defined('ABSPATH') || exit;
|
32 |
|
33 |
+
$hefo_options = get_option('hefo', []);
|
34 |
|
35 |
$hefo_is_mobile = false;
|
36 |
+
if (isset($_SERVER['HTTP_USER_AGENT']) && isset($hefo_options['mobile_user_agents_parsed'])) {
|
|
|
|
|
37 |
$hefo_is_mobile = preg_match('/' . $hefo_options['mobile_user_agents_parsed'] . '/', strtolower($_SERVER['HTTP_USER_AGENT']));
|
38 |
}
|
39 |
|
60 |
register_activation_hook(__FILE__, function () {
|
61 |
$options = get_option('hefo');
|
62 |
if (!is_array($options)) {
|
63 |
+
$options = [];
|
64 |
}
|
65 |
+
$options = array_merge(['after' => '', 'before' => '', 'head' => '', 'body' => '', 'head_home' => '', 'footer' => ''], $options);
|
66 |
for ($i = 1; $i <= 5; $i++) {
|
67 |
$options['snippet_' . $i] = '';
|
68 |
$options['generic_' . $i] = '';
|
86 |
|
87 |
function hefo_template_redirect() {
|
88 |
global $hefo_body_block, $hefo_generic_block, $hefo_options, $hefo_is_mobile;
|
89 |
+
|
90 |
+
if (function_exists('is_amp_endpoint') && is_amp_endpoint())
|
91 |
+
return;
|
92 |
|
93 |
if ($hefo_is_mobile && isset($hefo_options['mobile_body_enabled'])) {
|
94 |
$hefo_body_block = hefo_execute_option('mobile_body');
|
215 |
$type = 'page_';
|
216 |
}
|
217 |
|
218 |
+
if (!get_post_meta($post->ID, 'hefo_before', true)) {
|
219 |
+
if ($hefo_is_mobile && isset($hefo_options['mobile_' . $type . 'before_enabled'])) {
|
220 |
+
$before = hefo_execute_option('mobile_' . $type . 'before');
|
221 |
+
} else {
|
222 |
+
$before = hefo_execute_option($type . 'before');
|
223 |
+
}
|
224 |
}
|
225 |
|
226 |
+
if (!get_post_meta($post->ID, 'hefo_after', true)) {
|
227 |
+
if ($hefo_is_mobile && isset($hefo_options['mobile_' . $type . 'after_enabled'])) {
|
228 |
+
$after = hefo_execute_option('mobile_' . $type . 'after');
|
229 |
+
} else {
|
230 |
+
$after = hefo_execute_option($type . 'after');
|
231 |
+
}
|
232 |
}
|
233 |
|
234 |
// Rules
|
235 |
|
|
|
|
|
236 |
for ($i = 1; $i <= 5; $i++) {
|
237 |
if (empty($hefo_options['inner_tag_' . $i])) {
|
238 |
continue;
|
readme.txt
CHANGED
@@ -1,10 +1,11 @@
|
|
1 |
=== Head, Footer and Post Injections ===
|
2 |
Tags: header, footer, blog, page, single, post, head, tracking, facebook, og meta tag, open graph, ads, adsense, injections, analytics, amp, pixel
|
3 |
-
Requires at least:
|
4 |
-
Tested up to: 5.
|
5 |
-
Stable tag: 3.
|
6 |
Donate link: http://www.satollo.net/donations
|
7 |
Contributors: satollo
|
|
|
8 |
|
9 |
Header and Footer plugin let you to add html code to the head and footer sections of your blog... and more!
|
10 |
|
@@ -62,14 +63,14 @@ The specific bbPress injections are going to be removed. Switch to my
|
|
62 |
|
63 |
This plugin cannot change the menu or the footer layout, those features must be covered by your theme!
|
64 |
|
65 |
-
Official page: [Header and Footer](
|
66 |
|
67 |
Other plugins by Stefano Lissa:
|
68 |
|
69 |
-
* [Hyper Cache](
|
70 |
-
* [Newsletter](
|
71 |
-
* [Include Me](
|
72 |
-
* [Thumbnails](
|
73 |
* [Ads for bbPress](https://wordpress.org/plugins/ads-bbpress/)
|
74 |
|
75 |
= Translation =
|
@@ -86,14 +87,17 @@ You can contribute to translate this plugin in your language on [WordPress Trans
|
|
86 |
|
87 |
FAQs are answered on [Header and Footer](http://www.satollo.net/plugins/header-footer) page.
|
88 |
|
89 |
-
==
|
90 |
|
91 |
-
|
92 |
-
2. Configuration panel for post content
|
93 |
-
3. Configuration panel for Facebook "og" tags
|
94 |
-
4. Configurable snippets of code to be recalled on other configurations (to save time)
|
95 |
|
96 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
97 |
|
98 |
= 3.1.5 =
|
99 |
|
1 |
=== Head, Footer and Post Injections ===
|
2 |
Tags: header, footer, blog, page, single, post, head, tracking, facebook, og meta tag, open graph, ads, adsense, injections, analytics, amp, pixel
|
3 |
+
Requires at least: 4.0
|
4 |
+
Tested up to: 5.4.2
|
5 |
+
Stable tag: 3.2.0
|
6 |
Donate link: http://www.satollo.net/donations
|
7 |
Contributors: satollo
|
8 |
+
Requires PHP: 5.6
|
9 |
|
10 |
Header and Footer plugin let you to add html code to the head and footer sections of your blog... and more!
|
11 |
|
63 |
|
64 |
This plugin cannot change the menu or the footer layout, those features must be covered by your theme!
|
65 |
|
66 |
+
Official page: [Header and Footer](https://www.satollo.net/plugins/header-footer).
|
67 |
|
68 |
Other plugins by Stefano Lissa:
|
69 |
|
70 |
+
* [Hyper Cache](https://www.satollo.net/plugins/hyper-cache)
|
71 |
+
* [Newsletter](https://www.thenewsletterplugin.com)
|
72 |
+
* [Include Me](https://www.satollo.net/plugins/include-me)
|
73 |
+
* [Thumbnails](https://www.satollo.net/plugins/thumbnails)
|
74 |
* [Ads for bbPress](https://wordpress.org/plugins/ads-bbpress/)
|
75 |
|
76 |
= Translation =
|
87 |
|
88 |
FAQs are answered on [Header and Footer](http://www.satollo.net/plugins/header-footer) page.
|
89 |
|
90 |
+
== Changelog ==
|
91 |
|
92 |
+
= 3.2.0 =
|
|
|
|
|
|
|
93 |
|
94 |
+
* Restored controls of per post injection
|
95 |
+
* Compatibility check with latest WP
|
96 |
+
* Moved to PHP 5.6 syntax
|
97 |
+
|
98 |
+
= 3.1.6 =
|
99 |
+
|
100 |
+
* Fixed check_admin_referrer action
|
101 |
|
102 |
= 3.1.5 =
|
103 |
|
vendor/jquery-ui/images/ui-icons_444444_256x240.png
ADDED
Binary file
|
vendor/jquery-ui/images/ui-icons_555555_256x240.png
ADDED
Binary file
|
vendor/jquery-ui/images/ui-icons_777620_256x240.png
ADDED
Binary file
|
vendor/jquery-ui/images/ui-icons_777777_256x240.png
ADDED
Binary file
|
vendor/jquery-ui/images/ui-icons_cc0000_256x240.png
ADDED
Binary file
|
vendor/jquery-ui/images/ui-icons_ffffff_256x240.png
ADDED
Binary file
|
vendor/jquery-ui/jquery-ui.min.css
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
/*! jQuery UI - v1.12.1 - 2018-11-04
|
2 |
+
* http://jqueryui.com
|
3 |
+
* Includes: draggable.css, core.css, resizable.css, selectable.css, sortable.css, accordion.css, autocomplete.css, menu.css, button.css, controlgroup.css, checkboxradio.css, datepicker.css, dialog.css, progressbar.css, selectmenu.css, slider.css, spinner.css, tabs.css, tooltip.css, theme.css
|
4 |
+
* To view and modify this theme, visit http://jqueryui.com/themeroller/?scope=&folderName=base&cornerRadiusShadow=8px&offsetLeftShadow=0px&offsetTopShadow=0px&thicknessShadow=5px&opacityShadow=30&bgImgOpacityShadow=0&bgTextureShadow=flat&bgColorShadow=666666&opacityOverlay=30&bgImgOpacityOverlay=0&bgTextureOverlay=flat&bgColorOverlay=aaaaaa&iconColorError=cc0000&fcError=5f3f3f&borderColorError=f1a899&bgTextureError=flat&bgColorError=fddfdf&iconColorHighlight=777620&fcHighlight=777620&borderColorHighlight=dad55e&bgTextureHighlight=flat&bgColorHighlight=fffa90&iconColorActive=ffffff&fcActive=ffffff&borderColorActive=003eff&bgTextureActive=flat&bgColorActive=007fff&iconColorHover=555555&fcHover=2b2b2b&borderColorHover=cccccc&bgTextureHover=flat&bgColorHover=ededed&iconColorDefault=777777&fcDefault=454545&borderColorDefault=c5c5c5&bgTextureDefault=flat&bgColorDefault=f6f6f6&iconColorContent=444444&fcContent=333333&borderColorContent=dddddd&bgTextureContent=flat&bgColorContent=ffffff&iconColorHeader=444444&fcHeader=333333&borderColorHeader=dddddd&bgTextureHeader=flat&bgColorHeader=e9e9e9&cornerRadius=3px&fwDefault=normal&fsDefault=1em&ffDefault=Arial%2CHelvetica%2Csans-serif
|
5 |
+
* Copyright jQuery Foundation and other contributors; Licensed MIT */
|
6 |
+
|
7 |
+
.ui-draggable-handle{-ms-touch-action:none;touch-action:none}.ui-helper-hidden{display:none}.ui-helper-hidden-accessible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.ui-helper-reset{margin:0;padding:0;border:0;outline:0;line-height:1.3;text-decoration:none;font-size:100%;list-style:none}.ui-helper-clearfix:before,.ui-helper-clearfix:after{content:"";display:table;border-collapse:collapse}.ui-helper-clearfix:after{clear:both}.ui-helper-zfix{width:100%;height:100%;top:0;left:0;position:absolute;opacity:0;filter:Alpha(Opacity=0)}.ui-front{z-index:100}.ui-state-disabled{cursor:default!important;pointer-events:none}.ui-icon{display:inline-block;vertical-align:middle;margin-top:-.25em;position:relative;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat}.ui-widget-icon-block{left:50%;margin-left:-8px;display:block}.ui-widget-overlay{position:fixed;top:0;left:0;width:100%;height:100%}.ui-resizable{position:relative}.ui-resizable-handle{position:absolute;font-size:0.1px;display:block;-ms-touch-action:none;touch-action:none}.ui-resizable-disabled .ui-resizable-handle,.ui-resizable-autohide .ui-resizable-handle{display:none}.ui-resizable-n{cursor:n-resize;height:7px;width:100%;top:-5px;left:0}.ui-resizable-s{cursor:s-resize;height:7px;width:100%;bottom:-5px;left:0}.ui-resizable-e{cursor:e-resize;width:7px;right:-5px;top:0;height:100%}.ui-resizable-w{cursor:w-resize;width:7px;left:-5px;top:0;height:100%}.ui-resizable-se{cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.ui-resizable-sw{cursor:sw-resize;width:9px;height:9px;left:-5px;bottom:-5px}.ui-resizable-nw{cursor:nw-resize;width:9px;height:9px;left:-5px;top:-5px}.ui-resizable-ne{cursor:ne-resize;width:9px;height:9px;right:-5px;top:-5px}.ui-selectable{-ms-touch-action:none;touch-action:none}.ui-selectable-helper{position:absolute;z-index:100;border:1px dotted black}.ui-sortable-handle{-ms-touch-action:none;touch-action:none}.ui-accordion .ui-accordion-header{display:block;cursor:pointer;position:relative;margin:2px 0 0 0;padding:.5em .5em .5em .7em;font-size:100%}.ui-accordion .ui-accordion-content{padding:1em 2.2em;border-top:0;overflow:auto}.ui-autocomplete{position:absolute;top:0;left:0;cursor:default}.ui-menu{list-style:none;padding:0;margin:0;display:block;outline:0}.ui-menu .ui-menu{position:absolute}.ui-menu .ui-menu-item{margin:0;cursor:pointer;list-style-image:url("data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7")}.ui-menu .ui-menu-item-wrapper{position:relative;padding:3px 1em 3px .4em}.ui-menu .ui-menu-divider{margin:5px 0;height:0;font-size:0;line-height:0;border-width:1px 0 0 0}.ui-menu .ui-state-focus,.ui-menu .ui-state-active{margin:-1px}.ui-menu-icons{position:relative}.ui-menu-icons .ui-menu-item-wrapper{padding-left:2em}.ui-menu .ui-icon{position:absolute;top:0;bottom:0;left:.2em;margin:auto 0}.ui-menu .ui-menu-icon{left:auto;right:0}.ui-button{padding:.4em 1em;display:inline-block;position:relative;line-height:normal;margin-right:.1em;cursor:pointer;vertical-align:middle;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;overflow:visible}.ui-button,.ui-button:link,.ui-button:visited,.ui-button:hover,.ui-button:active{text-decoration:none}.ui-button-icon-only{width:2em;box-sizing:border-box;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-button-icon-only{text-indent:0}.ui-button-icon-only .ui-icon{position:absolute;top:50%;left:50%;margin-top:-8px;margin-left:-8px}.ui-button.ui-icon-notext .ui-icon{padding:0;width:2.1em;height:2.1em;text-indent:-9999px;white-space:nowrap}input.ui-button.ui-icon-notext .ui-icon{width:auto;height:auto;text-indent:0;white-space:normal;padding:.4em 1em}input.ui-button::-moz-focus-inner,button.ui-button::-moz-focus-inner{border:0;padding:0}.ui-controlgroup{vertical-align:middle;display:inline-block}.ui-controlgroup > .ui-controlgroup-item{float:left;margin-left:0;margin-right:0}.ui-controlgroup > .ui-controlgroup-item:focus,.ui-controlgroup > .ui-controlgroup-item.ui-visual-focus{z-index:9999}.ui-controlgroup-vertical > .ui-controlgroup-item{display:block;float:none;width:100%;margin-top:0;margin-bottom:0;text-align:left}.ui-controlgroup-vertical .ui-controlgroup-item{box-sizing:border-box}.ui-controlgroup .ui-controlgroup-label{padding:.4em 1em}.ui-controlgroup .ui-controlgroup-label span{font-size:80%}.ui-controlgroup-horizontal .ui-controlgroup-label + .ui-controlgroup-item{border-left:none}.ui-controlgroup-vertical .ui-controlgroup-label + .ui-controlgroup-item{border-top:none}.ui-controlgroup-horizontal .ui-controlgroup-label.ui-widget-content{border-right:none}.ui-controlgroup-vertical .ui-controlgroup-label.ui-widget-content{border-bottom:none}.ui-controlgroup-vertical .ui-spinner-input{width:75%;width:calc( 100% - 2.4em )}.ui-controlgroup-vertical .ui-spinner .ui-spinner-up{border-top-style:solid}.ui-checkboxradio-label .ui-icon-background{box-shadow:inset 1px 1px 1px #ccc;border-radius:.12em;border:none}.ui-checkboxradio-radio-label .ui-icon-background{width:16px;height:16px;border-radius:1em;overflow:visible;border:none}.ui-checkboxradio-radio-label.ui-checkboxradio-checked .ui-icon,.ui-checkboxradio-radio-label.ui-checkboxradio-checked:hover .ui-icon{background-image:none;width:8px;height:8px;border-width:4px;border-style:solid}.ui-checkboxradio-disabled{pointer-events:none}.ui-datepicker{width:17em;padding:.2em .2em 0;display:none}.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}.ui-datepicker .ui-datepicker-prev{left:2px}.ui-datepicker .ui-datepicker-next{right:2px}.ui-datepicker .ui-datepicker-prev-hover{left:1px}.ui-datepicker .ui-datepicker-next-hover{right:1px}.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}.ui-datepicker th{padding:.7em .3em;text-align:center;font-weight:bold;border:0}.ui-datepicker td{border:0;padding:1px}.ui-datepicker td span,.ui-datepicker td a{display:block;padding:.2em;text-align:right;text-decoration:none}.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}.ui-datepicker.ui-datepicker-multi{width:auto}.ui-datepicker-multi .ui-datepicker-group{float:left}.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}.ui-datepicker-row-break{clear:both;width:100%;font-size:0}.ui-datepicker-rtl{direction:rtl}.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}.ui-dialog{position:absolute;top:0;left:0;padding:.2em;outline:0}.ui-dialog .ui-dialog-titlebar{padding:.4em 1em;position:relative}.ui-dialog .ui-dialog-title{float:left;margin:.1em 0;white-space:nowrap;width:90%;overflow:hidden;text-overflow:ellipsis}.ui-dialog .ui-dialog-titlebar-close{position:absolute;right:.3em;top:50%;width:20px;margin:-10px 0 0 0;padding:1px;height:20px}.ui-dialog .ui-dialog-content{position:relative;border:0;padding:.5em 1em;background:none;overflow:auto}.ui-dialog .ui-dialog-buttonpane{text-align:left;border-width:1px 0 0 0;background-image:none;margin-top:.5em;padding:.3em 1em .5em .4em}.ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset{float:right}.ui-dialog .ui-dialog-buttonpane button{margin:.5em .4em .5em 0;cursor:pointer}.ui-dialog .ui-resizable-n{height:2px;top:0}.ui-dialog .ui-resizable-e{width:2px;right:0}.ui-dialog .ui-resizable-s{height:2px;bottom:0}.ui-dialog .ui-resizable-w{width:2px;left:0}.ui-dialog .ui-resizable-se,.ui-dialog .ui-resizable-sw,.ui-dialog .ui-resizable-ne,.ui-dialog .ui-resizable-nw{width:7px;height:7px}.ui-dialog .ui-resizable-se{right:0;bottom:0}.ui-dialog .ui-resizable-sw{left:0;bottom:0}.ui-dialog .ui-resizable-ne{right:0;top:0}.ui-dialog .ui-resizable-nw{left:0;top:0}.ui-draggable .ui-dialog-titlebar{cursor:move}.ui-progressbar{height:2em;text-align:left;overflow:hidden}.ui-progressbar .ui-progressbar-value{margin:-1px;height:100%}.ui-progressbar .ui-progressbar-overlay{background:url("data:image/gif;base64,R0lGODlhKAAoAIABAAAAAP///yH/C05FVFNDQVBFMi4wAwEAAAAh+QQJAQABACwAAAAAKAAoAAACkYwNqXrdC52DS06a7MFZI+4FHBCKoDeWKXqymPqGqxvJrXZbMx7Ttc+w9XgU2FB3lOyQRWET2IFGiU9m1frDVpxZZc6bfHwv4c1YXP6k1Vdy292Fb6UkuvFtXpvWSzA+HycXJHUXiGYIiMg2R6W459gnWGfHNdjIqDWVqemH2ekpObkpOlppWUqZiqr6edqqWQAAIfkECQEAAQAsAAAAACgAKAAAApSMgZnGfaqcg1E2uuzDmmHUBR8Qil95hiPKqWn3aqtLsS18y7G1SzNeowWBENtQd+T1JktP05nzPTdJZlR6vUxNWWjV+vUWhWNkWFwxl9VpZRedYcflIOLafaa28XdsH/ynlcc1uPVDZxQIR0K25+cICCmoqCe5mGhZOfeYSUh5yJcJyrkZWWpaR8doJ2o4NYq62lAAACH5BAkBAAEALAAAAAAoACgAAAKVDI4Yy22ZnINRNqosw0Bv7i1gyHUkFj7oSaWlu3ovC8GxNso5fluz3qLVhBVeT/Lz7ZTHyxL5dDalQWPVOsQWtRnuwXaFTj9jVVh8pma9JjZ4zYSj5ZOyma7uuolffh+IR5aW97cHuBUXKGKXlKjn+DiHWMcYJah4N0lYCMlJOXipGRr5qdgoSTrqWSq6WFl2ypoaUAAAIfkECQEAAQAsAAAAACgAKAAAApaEb6HLgd/iO7FNWtcFWe+ufODGjRfoiJ2akShbueb0wtI50zm02pbvwfWEMWBQ1zKGlLIhskiEPm9R6vRXxV4ZzWT2yHOGpWMyorblKlNp8HmHEb/lCXjcW7bmtXP8Xt229OVWR1fod2eWqNfHuMjXCPkIGNileOiImVmCOEmoSfn3yXlJWmoHGhqp6ilYuWYpmTqKUgAAIfkECQEAAQAsAAAAACgAKAAAApiEH6kb58biQ3FNWtMFWW3eNVcojuFGfqnZqSebuS06w5V80/X02pKe8zFwP6EFWOT1lDFk8rGERh1TTNOocQ61Hm4Xm2VexUHpzjymViHrFbiELsefVrn6XKfnt2Q9G/+Xdie499XHd2g4h7ioOGhXGJboGAnXSBnoBwKYyfioubZJ2Hn0RuRZaflZOil56Zp6iioKSXpUAAAh+QQJAQABACwAAAAAKAAoAAACkoQRqRvnxuI7kU1a1UU5bd5tnSeOZXhmn5lWK3qNTWvRdQxP8qvaC+/yaYQzXO7BMvaUEmJRd3TsiMAgswmNYrSgZdYrTX6tSHGZO73ezuAw2uxuQ+BbeZfMxsexY35+/Qe4J1inV0g4x3WHuMhIl2jXOKT2Q+VU5fgoSUI52VfZyfkJGkha6jmY+aaYdirq+lQAACH5BAkBAAEALAAAAAAoACgAAAKWBIKpYe0L3YNKToqswUlvznigd4wiR4KhZrKt9Upqip61i9E3vMvxRdHlbEFiEXfk9YARYxOZZD6VQ2pUunBmtRXo1Lf8hMVVcNl8JafV38aM2/Fu5V16Bn63r6xt97j09+MXSFi4BniGFae3hzbH9+hYBzkpuUh5aZmHuanZOZgIuvbGiNeomCnaxxap2upaCZsq+1kAACH5BAkBAAEALAAAAAAoACgAAAKXjI8By5zf4kOxTVrXNVlv1X0d8IGZGKLnNpYtm8Lr9cqVeuOSvfOW79D9aDHizNhDJidFZhNydEahOaDH6nomtJjp1tutKoNWkvA6JqfRVLHU/QUfau9l2x7G54d1fl995xcIGAdXqMfBNadoYrhH+Mg2KBlpVpbluCiXmMnZ2Sh4GBqJ+ckIOqqJ6LmKSllZmsoq6wpQAAAh+QQJAQABACwAAAAAKAAoAAAClYx/oLvoxuJDkU1a1YUZbJ59nSd2ZXhWqbRa2/gF8Gu2DY3iqs7yrq+xBYEkYvFSM8aSSObE+ZgRl1BHFZNr7pRCavZ5BW2142hY3AN/zWtsmf12p9XxxFl2lpLn1rseztfXZjdIWIf2s5dItwjYKBgo9yg5pHgzJXTEeGlZuenpyPmpGQoKOWkYmSpaSnqKileI2FAAACH5BAkBAAEALAAAAAAoACgAAAKVjB+gu+jG4kORTVrVhRlsnn2dJ3ZleFaptFrb+CXmO9OozeL5VfP99HvAWhpiUdcwkpBH3825AwYdU8xTqlLGhtCosArKMpvfa1mMRae9VvWZfeB2XfPkeLmm18lUcBj+p5dnN8jXZ3YIGEhYuOUn45aoCDkp16hl5IjYJvjWKcnoGQpqyPlpOhr3aElaqrq56Bq7VAAAOw==");height:100%;filter:alpha(opacity=25);opacity:0.25}.ui-progressbar-indeterminate .ui-progressbar-value{background-image:none}.ui-selectmenu-menu{padding:0;margin:0;position:absolute;top:0;left:0;display:none}.ui-selectmenu-menu .ui-menu{overflow:auto;overflow-x:hidden;padding-bottom:1px}.ui-selectmenu-menu .ui-menu .ui-selectmenu-optgroup{font-size:1em;font-weight:bold;line-height:1.5;padding:2px 0.4em;margin:0.5em 0 0 0;height:auto;border:0}.ui-selectmenu-open{display:block}.ui-selectmenu-text{display:block;margin-right:20px;overflow:hidden;text-overflow:ellipsis}.ui-selectmenu-button.ui-button{text-align:left;white-space:nowrap;width:14em}.ui-selectmenu-icon.ui-icon{float:right;margin-top:0}.ui-slider{position:relative;text-align:left}.ui-slider .ui-slider-handle{position:absolute;z-index:2;width:1.2em;height:1.2em;cursor:default;-ms-touch-action:none;touch-action:none}.ui-slider .ui-slider-range{position:absolute;z-index:1;font-size:.7em;display:block;border:0;background-position:0 0}.ui-slider.ui-state-disabled .ui-slider-handle,.ui-slider.ui-state-disabled .ui-slider-range{filter:inherit}.ui-slider-horizontal{height:.8em}.ui-slider-horizontal .ui-slider-handle{top:-.3em;margin-left:-.6em}.ui-slider-horizontal .ui-slider-range{top:0;height:100%}.ui-slider-horizontal .ui-slider-range-min{left:0}.ui-slider-horizontal .ui-slider-range-max{right:0}.ui-slider-vertical{width:.8em;height:100px}.ui-slider-vertical .ui-slider-handle{left:-.3em;margin-left:0;margin-bottom:-.6em}.ui-slider-vertical .ui-slider-range{left:0;width:100%}.ui-slider-vertical .ui-slider-range-min{bottom:0}.ui-slider-vertical .ui-slider-range-max{top:0}.ui-spinner{position:relative;display:inline-block;overflow:hidden;padding:0;vertical-align:middle}.ui-spinner-input{border:none;background:none;color:inherit;padding:.222em 0;margin:.2em 0;vertical-align:middle;margin-left:.4em;margin-right:2em}.ui-spinner-button{width:1.6em;height:50%;font-size:.5em;padding:0;margin:0;text-align:center;position:absolute;cursor:default;display:block;overflow:hidden;right:0}.ui-spinner a.ui-spinner-button{border-top-style:none;border-bottom-style:none;border-right-style:none}.ui-spinner-up{top:0}.ui-spinner-down{bottom:0}.ui-tabs{position:relative;padding:.2em}.ui-tabs .ui-tabs-nav{margin:0;padding:.2em .2em 0}.ui-tabs .ui-tabs-nav li{list-style:none;float:left;position:relative;top:0;margin:1px .2em 0 0;border-bottom-width:0;padding:0;white-space:nowrap}.ui-tabs .ui-tabs-nav .ui-tabs-anchor{float:left;padding:.5em 1em;text-decoration:none}.ui-tabs .ui-tabs-nav li.ui-tabs-active{margin-bottom:-1px;padding-bottom:1px}.ui-tabs .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-state-disabled .ui-tabs-anchor,.ui-tabs .ui-tabs-nav li.ui-tabs-loading .ui-tabs-anchor{cursor:text}.ui-tabs-collapsible .ui-tabs-nav li.ui-tabs-active .ui-tabs-anchor{cursor:pointer}.ui-tabs .ui-tabs-panel{display:block;border-width:0;padding:1em 1.4em;background:none}.ui-tooltip{padding:8px;position:absolute;z-index:9999;max-width:300px}body .ui-tooltip{border-width:2px}.ui-widget{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget .ui-widget{font-size:1em}.ui-widget input,.ui-widget select,.ui-widget textarea,.ui-widget button{font-family:Arial,Helvetica,sans-serif;font-size:1em}.ui-widget.ui-widget-content{border:1px solid #c5c5c5}.ui-widget-content{border:1px solid #ddd;background:#fff;color:#333}.ui-widget-content a{color:#333}.ui-widget-header{border:1px solid #ddd;background:#e9e9e9;color:#333;font-weight:bold}.ui-widget-header a{color:#333}.ui-state-default,.ui-widget-content .ui-state-default,.ui-widget-header .ui-state-default,.ui-button,html .ui-button.ui-state-disabled:hover,html .ui-button.ui-state-disabled:active{border:1px solid #c5c5c5;background:#f6f6f6;font-weight:normal;color:#454545}.ui-state-default a,.ui-state-default a:link,.ui-state-default a:visited,a.ui-button,a:link.ui-button,a:visited.ui-button,.ui-button{color:#454545;text-decoration:none}.ui-state-hover,.ui-widget-content .ui-state-hover,.ui-widget-header .ui-state-hover,.ui-state-focus,.ui-widget-content .ui-state-focus,.ui-widget-header .ui-state-focus,.ui-button:hover,.ui-button:focus{border:1px solid #ccc;background:#ededed;font-weight:normal;color:#2b2b2b}.ui-state-hover a,.ui-state-hover a:hover,.ui-state-hover a:link,.ui-state-hover a:visited,.ui-state-focus a,.ui-state-focus a:hover,.ui-state-focus a:link,.ui-state-focus a:visited,a.ui-button:hover,a.ui-button:focus{color:#2b2b2b;text-decoration:none}.ui-visual-focus{box-shadow:0 0 3px 1px rgb(94,158,214)}.ui-state-active,.ui-widget-content .ui-state-active,.ui-widget-header .ui-state-active,a.ui-button:active,.ui-button:active,.ui-button.ui-state-active:hover{border:1px solid #003eff;background:#007fff;font-weight:normal;color:#fff}.ui-icon-background,.ui-state-active .ui-icon-background{border:#003eff;background-color:#fff}.ui-state-active a,.ui-state-active a:link,.ui-state-active a:visited{color:#fff;text-decoration:none}.ui-state-highlight,.ui-widget-content .ui-state-highlight,.ui-widget-header .ui-state-highlight{border:1px solid #dad55e;background:#fffa90;color:#777620}.ui-state-checked{border:1px solid #dad55e;background:#fffa90}.ui-state-highlight a,.ui-widget-content .ui-state-highlight a,.ui-widget-header .ui-state-highlight a{color:#777620}.ui-state-error,.ui-widget-content .ui-state-error,.ui-widget-header .ui-state-error{border:1px solid #f1a899;background:#fddfdf;color:#5f3f3f}.ui-state-error a,.ui-widget-content .ui-state-error a,.ui-widget-header .ui-state-error a{color:#5f3f3f}.ui-state-error-text,.ui-widget-content .ui-state-error-text,.ui-widget-header .ui-state-error-text{color:#5f3f3f}.ui-priority-primary,.ui-widget-content .ui-priority-primary,.ui-widget-header .ui-priority-primary{font-weight:bold}.ui-priority-secondary,.ui-widget-content .ui-priority-secondary,.ui-widget-header .ui-priority-secondary{opacity:.7;filter:Alpha(Opacity=70);font-weight:normal}.ui-state-disabled,.ui-widget-content .ui-state-disabled,.ui-widget-header .ui-state-disabled{opacity:.35;filter:Alpha(Opacity=35);background-image:none}.ui-state-disabled .ui-icon{filter:Alpha(Opacity=35)}.ui-icon{width:16px;height:16px}.ui-icon,.ui-widget-content .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-widget-header .ui-icon{background-image:url("images/ui-icons_444444_256x240.png")}.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("images/ui-icons_555555_256x240.png")}.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("images/ui-icons_ffffff_256x240.png")}.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("images/ui-icons_777620_256x240.png")}.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("images/ui-icons_cc0000_256x240.png")}.ui-button .ui-icon{background-image:url("images/ui-icons_777777_256x240.png")}.ui-icon-blank{background-position:16px 16px}.ui-icon-caret-1-n{background-position:0 0}.ui-icon-caret-1-ne{background-position:-16px 0}.ui-icon-caret-1-e{background-position:-32px 0}.ui-icon-caret-1-se{background-position:-48px 0}.ui-icon-caret-1-s{background-position:-65px 0}.ui-icon-caret-1-sw{background-position:-80px 0}.ui-icon-caret-1-w{background-position:-96px 0}.ui-icon-caret-1-nw{background-position:-112px 0}.ui-icon-caret-2-n-s{background-position:-128px 0}.ui-icon-caret-2-e-w{background-position:-144px 0}.ui-icon-triangle-1-n{background-position:0 -16px}.ui-icon-triangle-1-ne{background-position:-16px -16px}.ui-icon-triangle-1-e{background-position:-32px -16px}.ui-icon-triangle-1-se{background-position:-48px -16px}.ui-icon-triangle-1-s{background-position:-65px -16px}.ui-icon-triangle-1-sw{background-position:-80px -16px}.ui-icon-triangle-1-w{background-position:-96px -16px}.ui-icon-triangle-1-nw{background-position:-112px -16px}.ui-icon-triangle-2-n-s{background-position:-128px -16px}.ui-icon-triangle-2-e-w{background-position:-144px -16px}.ui-icon-arrow-1-n{background-position:0 -32px}.ui-icon-arrow-1-ne{background-position:-16px -32px}.ui-icon-arrow-1-e{background-position:-32px -32px}.ui-icon-arrow-1-se{background-position:-48px -32px}.ui-icon-arrow-1-s{background-position:-65px -32px}.ui-icon-arrow-1-sw{background-position:-80px -32px}.ui-icon-arrow-1-w{background-position:-96px -32px}.ui-icon-arrow-1-nw{background-position:-112px -32px}.ui-icon-arrow-2-n-s{background-position:-128px -32px}.ui-icon-arrow-2-ne-sw{background-position:-144px -32px}.ui-icon-arrow-2-e-w{background-position:-160px -32px}.ui-icon-arrow-2-se-nw{background-position:-176px -32px}.ui-icon-arrowstop-1-n{background-position:-192px -32px}.ui-icon-arrowstop-1-e{background-position:-208px -32px}.ui-icon-arrowstop-1-s{background-position:-224px -32px}.ui-icon-arrowstop-1-w{background-position:-240px -32px}.ui-icon-arrowthick-1-n{background-position:1px -48px}.ui-icon-arrowthick-1-ne{background-position:-16px -48px}.ui-icon-arrowthick-1-e{background-position:-32px -48px}.ui-icon-arrowthick-1-se{background-position:-48px -48px}.ui-icon-arrowthick-1-s{background-position:-64px -48px}.ui-icon-arrowthick-1-sw{background-position:-80px -48px}.ui-icon-arrowthick-1-w{background-position:-96px -48px}.ui-icon-arrowthick-1-nw{background-position:-112px -48px}.ui-icon-arrowthick-2-n-s{background-position:-128px -48px}.ui-icon-arrowthick-2-ne-sw{background-position:-144px -48px}.ui-icon-arrowthick-2-e-w{background-position:-160px -48px}.ui-icon-arrowthick-2-se-nw{background-position:-176px -48px}.ui-icon-arrowthickstop-1-n{background-position:-192px -48px}.ui-icon-arrowthickstop-1-e{background-position:-208px -48px}.ui-icon-arrowthickstop-1-s{background-position:-224px -48px}.ui-icon-arrowthickstop-1-w{background-position:-240px -48px}.ui-icon-arrowreturnthick-1-w{background-position:0 -64px}.ui-icon-arrowreturnthick-1-n{background-position:-16px -64px}.ui-icon-arrowreturnthick-1-e{background-position:-32px -64px}.ui-icon-arrowreturnthick-1-s{background-position:-48px -64px}.ui-icon-arrowreturn-1-w{background-position:-64px -64px}.ui-icon-arrowreturn-1-n{background-position:-80px -64px}.ui-icon-arrowreturn-1-e{background-position:-96px -64px}.ui-icon-arrowreturn-1-s{background-position:-112px -64px}.ui-icon-arrowrefresh-1-w{background-position:-128px -64px}.ui-icon-arrowrefresh-1-n{background-position:-144px -64px}.ui-icon-arrowrefresh-1-e{background-position:-160px -64px}.ui-icon-arrowrefresh-1-s{background-position:-176px -64px}.ui-icon-arrow-4{background-position:0 -80px}.ui-icon-arrow-4-diag{background-position:-16px -80px}.ui-icon-extlink{background-position:-32px -80px}.ui-icon-newwin{background-position:-48px -80px}.ui-icon-refresh{background-position:-64px -80px}.ui-icon-shuffle{background-position:-80px -80px}.ui-icon-transfer-e-w{background-position:-96px -80px}.ui-icon-transferthick-e-w{background-position:-112px -80px}.ui-icon-folder-collapsed{background-position:0 -96px}.ui-icon-folder-open{background-position:-16px -96px}.ui-icon-document{background-position:-32px -96px}.ui-icon-document-b{background-position:-48px -96px}.ui-icon-note{background-position:-64px -96px}.ui-icon-mail-closed{background-position:-80px -96px}.ui-icon-mail-open{background-position:-96px -96px}.ui-icon-suitcase{background-position:-112px -96px}.ui-icon-comment{background-position:-128px -96px}.ui-icon-person{background-position:-144px -96px}.ui-icon-print{background-position:-160px -96px}.ui-icon-trash{background-position:-176px -96px}.ui-icon-locked{background-position:-192px -96px}.ui-icon-unlocked{background-position:-208px -96px}.ui-icon-bookmark{background-position:-224px -96px}.ui-icon-tag{background-position:-240px -96px}.ui-icon-home{background-position:0 -112px}.ui-icon-flag{background-position:-16px -112px}.ui-icon-calendar{background-position:-32px -112px}.ui-icon-cart{background-position:-48px -112px}.ui-icon-pencil{background-position:-64px -112px}.ui-icon-clock{background-position:-80px -112px}.ui-icon-disk{background-position:-96px -112px}.ui-icon-calculator{background-position:-112px -112px}.ui-icon-zoomin{background-position:-128px -112px}.ui-icon-zoomout{background-position:-144px -112px}.ui-icon-search{background-position:-160px -112px}.ui-icon-wrench{background-position:-176px -112px}.ui-icon-gear{background-position:-192px -112px}.ui-icon-heart{background-position:-208px -112px}.ui-icon-star{background-position:-224px -112px}.ui-icon-link{background-position:-240px -112px}.ui-icon-cancel{background-position:0 -128px}.ui-icon-plus{background-position:-16px -128px}.ui-icon-plusthick{background-position:-32px -128px}.ui-icon-minus{background-position:-48px -128px}.ui-icon-minusthick{background-position:-64px -128px}.ui-icon-close{background-position:-80px -128px}.ui-icon-closethick{background-position:-96px -128px}.ui-icon-key{background-position:-112px -128px}.ui-icon-lightbulb{background-position:-128px -128px}.ui-icon-scissors{background-position:-144px -128px}.ui-icon-clipboard{background-position:-160px -128px}.ui-icon-copy{background-position:-176px -128px}.ui-icon-contact{background-position:-192px -128px}.ui-icon-image{background-position:-208px -128px}.ui-icon-video{background-position:-224px -128px}.ui-icon-script{background-position:-240px -128px}.ui-icon-alert{background-position:0 -144px}.ui-icon-info{background-position:-16px -144px}.ui-icon-notice{background-position:-32px -144px}.ui-icon-help{background-position:-48px -144px}.ui-icon-check{background-position:-64px -144px}.ui-icon-bullet{background-position:-80px -144px}.ui-icon-radio-on{background-position:-96px -144px}.ui-icon-radio-off{background-position:-112px -144px}.ui-icon-pin-w{background-position:-128px -144px}.ui-icon-pin-s{background-position:-144px -144px}.ui-icon-play{background-position:0 -160px}.ui-icon-pause{background-position:-16px -160px}.ui-icon-seek-next{background-position:-32px -160px}.ui-icon-seek-prev{background-position:-48px -160px}.ui-icon-seek-end{background-position:-64px -160px}.ui-icon-seek-start{background-position:-80px -160px}.ui-icon-seek-first{background-position:-80px -160px}.ui-icon-stop{background-position:-96px -160px}.ui-icon-eject{background-position:-112px -160px}.ui-icon-volume-off{background-position:-128px -160px}.ui-icon-volume-on{background-position:-144px -160px}.ui-icon-power{background-position:0 -176px}.ui-icon-signal-diag{background-position:-16px -176px}.ui-icon-signal{background-position:-32px -176px}.ui-icon-battery-0{background-position:-48px -176px}.ui-icon-battery-1{background-position:-64px -176px}.ui-icon-battery-2{background-position:-80px -176px}.ui-icon-battery-3{background-position:-96px -176px}.ui-icon-circle-plus{background-position:0 -192px}.ui-icon-circle-minus{background-position:-16px -192px}.ui-icon-circle-close{background-position:-32px -192px}.ui-icon-circle-triangle-e{background-position:-48px -192px}.ui-icon-circle-triangle-s{background-position:-64px -192px}.ui-icon-circle-triangle-w{background-position:-80px -192px}.ui-icon-circle-triangle-n{background-position:-96px -192px}.ui-icon-circle-arrow-e{background-position:-112px -192px}.ui-icon-circle-arrow-s{background-position:-128px -192px}.ui-icon-circle-arrow-w{background-position:-144px -192px}.ui-icon-circle-arrow-n{background-position:-160px -192px}.ui-icon-circle-zoomin{background-position:-176px -192px}.ui-icon-circle-zoomout{background-position:-192px -192px}.ui-icon-circle-check{background-position:-208px -192px}.ui-icon-circlesmall-plus{background-position:0 -208px}.ui-icon-circlesmall-minus{background-position:-16px -208px}.ui-icon-circlesmall-close{background-position:-32px -208px}.ui-icon-squaresmall-plus{background-position:-48px -208px}.ui-icon-squaresmall-minus{background-position:-64px -208px}.ui-icon-squaresmall-close{background-position:-80px -208px}.ui-icon-grip-dotted-vertical{background-position:0 -224px}.ui-icon-grip-dotted-horizontal{background-position:-16px -224px}.ui-icon-grip-solid-vertical{background-position:-32px -224px}.ui-icon-grip-solid-horizontal{background-position:-48px -224px}.ui-icon-gripsmall-diagonal-se{background-position:-64px -224px}.ui-icon-grip-diagonal-se{background-position:-80px -224px}.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}.ui-widget-overlay{background:#aaa;opacity:.3;filter:Alpha(Opacity=30)}.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}
|