Version Description
- Released 2013-03-04
- Fixed some issues with image sizing and responsive themes
- Code refactoring
- Added preview in the settings panel
- New feature: adding images using media library
Download this release
Release Info
Developer | mrsztuczkens |
Plugin | jQuery Pin It Button for Images |
Version | 0.9.5 |
Comparing to | |
See all releases |
Code changes from version 0.9.2 to 0.9.5
- css/admin.css +35 -29
- css/style.css +17 -16
- images/image_preview.jpg +0 -0
- jpibfi-admin.php +128 -118
- jpibfi-constants.php +18 -0
- jquery-pin-it-button-for-images.php +52 -59
- js/admin.js +8 -5
- js/script.js +113 -97
- js/script.min.js +1 -1
- js/upload-button-new.js +38 -0
- js/upload-button-old.js +25 -0
- readme.txt +15 -2
- screenshot-3.jpg +0 -0
css/admin.css
CHANGED
@@ -1,21 +1,23 @@
|
|
1 |
-
table.form-table th {
|
2 |
-
font-weight:bold;
|
3 |
-
}
|
4 |
-
|
5 |
.settings-table {
|
6 |
-
background-color:#E7E7E7;
|
7 |
-
border:1px solid #B1B1B1;
|
8 |
-
border-radius:20px;
|
9 |
padding:20px;
|
10 |
-
width:
|
|
|
|
|
|
|
|
|
|
|
11 |
}
|
12 |
|
13 |
.settings-table th {
|
14 |
-
font-weight:bold;
|
15 |
vertical-align:top;
|
|
|
16 |
text-align:left;
|
17 |
padding:0px 10px;
|
18 |
-
width:
|
|
|
|
|
|
|
|
|
19 |
}
|
20 |
|
21 |
.settings-table p {
|
@@ -27,11 +29,11 @@ table.form-table th {
|
|
27 |
}
|
28 |
|
29 |
.jpibfi-success-message, .jpibfi-error-message {
|
30 |
-
|
31 |
border-radius: 10px;
|
32 |
-
|
33 |
-
|
34 |
-
width:
|
35 |
}
|
36 |
|
37 |
.jpibfi-success-message {
|
@@ -47,34 +49,38 @@ table.form-table th {
|
|
47 |
.settings-table .error-border {
|
48 |
border: 2px solid #ff8387;
|
49 |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
50 |
-
|
51 |
-
|
52 |
}
|
53 |
|
54 |
-
|
55 |
border: 1px solid #eed3d7;;
|
56 |
-webkit-border-radius: 4px;
|
57 |
-
|
58 |
-
|
59 |
background-color: #f2dede;
|
60 |
color: #b94a48;
|
61 |
padding: 8px 14px;
|
62 |
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
63 |
-
float:left;
|
64 |
-
display:none;
|
65 |
-
margin-left: 5px;
|
66 |
-
max-width:45%;
|
67 |
}
|
68 |
|
69 |
-
.
|
70 |
-
|
71 |
}
|
72 |
|
73 |
-
.
|
74 |
-
|
75 |
-
float:left;
|
76 |
}
|
77 |
|
78 |
-
|
|
|
|
|
|
|
|
|
79 |
padding-left: 5px;
|
|
|
|
|
|
|
|
|
|
|
80 |
}
|
|
|
|
|
|
|
|
|
1 |
.settings-table {
|
|
|
|
|
|
|
2 |
padding:20px;
|
3 |
+
width:100%;
|
4 |
+
border-collapse: collapse
|
5 |
+
}
|
6 |
+
|
7 |
+
.settings-table td {
|
8 |
+
padding-bottom: 20px;
|
9 |
}
|
10 |
|
11 |
.settings-table th {
|
|
|
12 |
vertical-align:top;
|
13 |
+
font-weight: normal;
|
14 |
text-align:left;
|
15 |
padding:0px 10px;
|
16 |
+
width:200px;
|
17 |
+
}
|
18 |
+
|
19 |
+
.settings-table th label{
|
20 |
+
font-weight:bold;
|
21 |
}
|
22 |
|
23 |
.settings-table p {
|
29 |
}
|
30 |
|
31 |
.jpibfi-success-message, .jpibfi-error-message {
|
32 |
+
border: 1px solid;
|
33 |
border-radius: 10px;
|
34 |
+
margin: 10px 0px;
|
35 |
+
padding:10px;
|
36 |
+
width: 90%;
|
37 |
}
|
38 |
|
39 |
.jpibfi-success-message {
|
49 |
.settings-table .error-border {
|
50 |
border: 2px solid #ff8387;
|
51 |
-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
52 |
+
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
53 |
+
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
|
54 |
}
|
55 |
|
56 |
+
#errors_div div {
|
57 |
border: 1px solid #eed3d7;;
|
58 |
-webkit-border-radius: 4px;
|
59 |
+
-moz-border-radius: 4px;
|
60 |
+
border-radius: 4px;
|
61 |
background-color: #f2dede;
|
62 |
color: #b94a48;
|
63 |
padding: 8px 14px;
|
64 |
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
|
|
|
|
|
|
|
|
|
65 |
}
|
66 |
|
67 |
+
.jpibfi-visible {
|
68 |
+
display: block;
|
69 |
}
|
70 |
|
71 |
+
.jpibfi-hidden {
|
72 |
+
display: none;
|
|
|
73 |
}
|
74 |
|
75 |
+
#errors_div div :after,.description {
|
76 |
+
clear:both;
|
77 |
+
}
|
78 |
+
|
79 |
+
input[type="checkbox"] ~ label {
|
80 |
padding-left: 5px;
|
81 |
+
}
|
82 |
+
|
83 |
+
.jpibfi-admin-number {
|
84 |
+
width: 60px;
|
85 |
+
text-align: right;
|
86 |
}
|
css/style.css
CHANGED
@@ -1,25 +1,26 @@
|
|
1 |
.pinit {
|
2 |
-
|
3 |
-
|
4 |
-
|
|
|
5 |
}
|
6 |
|
7 |
.pinit .pinit-overlay {
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
|
15 |
text-align:left;
|
16 |
}
|
17 |
|
18 |
.pinit .pinit-overlay a {
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
}
|
1 |
.pinit {
|
2 |
+
position:relative;
|
3 |
+
display:inline-block;
|
4 |
+
overflow: hidden;
|
5 |
+
max-width: 100%;
|
6 |
}
|
7 |
|
8 |
.pinit .pinit-overlay {
|
9 |
+
position:absolute;
|
10 |
+
top:0;
|
11 |
+
left:0;
|
12 |
+
width:100%;
|
13 |
+
height:100%;
|
14 |
+
z-index:200;
|
15 |
+
display:none;
|
16 |
text-align:left;
|
17 |
}
|
18 |
|
19 |
.pinit .pinit-overlay a {
|
20 |
+
position:relative;
|
21 |
+
top:0%;
|
22 |
+
left:0%;
|
23 |
+
margin:20px 0 0 20px;
|
24 |
+
display:block;
|
25 |
+
text-indent:-9999em;
|
26 |
}
|
images/image_preview.jpg
ADDED
Binary file
|
jpibfi-admin.php
CHANGED
@@ -5,51 +5,48 @@ if ( ! function_exists( 'add_action' ) ) {
|
|
5 |
}
|
6 |
|
7 |
require_once( "jpibfi-validation.php" );
|
|
|
8 |
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
|
14 |
-
}
|
|
|
|
|
|
|
15 |
|
16 |
-
function jpibfi_print_error_div( $div_id, $error_array, $field_name, $message ) {
|
17 |
-
$display_message = "";
|
18 |
-
if ( ! empty( $error_array ) && array_key_exists( $field_name, $error_array ) )
|
19 |
-
$display_message = "style='display:block;'";
|
20 |
-
printf( '<div id="%s" class="error-info" %s>%s</div>', $div_id, $display_message, $message );
|
21 |
}
|
22 |
|
23 |
-
//END HTML HELPERS
|
24 |
-
|
25 |
//Prints out the admin page
|
26 |
function jpibfi_print_admin_page() {
|
27 |
-
global $jpibfi_admin_basic_options_name;
|
28 |
-
global $jpibfi_admin_advanced_options_name;
|
29 |
|
30 |
$dev_options = jpibfi_get_basic_options();
|
31 |
$advanced_dev_options = jpibfi_get_advanced_options();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
32 |
|
33 |
-
|
34 |
|
35 |
if ( isset( $_POST['update_jQuery_Pin_It_Button_For_Images'] ) ) {
|
36 |
//security check
|
37 |
if ( ! wp_verify_nonce( $_POST['jpibfi_nonce'], 'jpibfi_admin_settings' ) )
|
38 |
die( 'Security alert' );
|
39 |
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
if ( ! jpibfi_contains_css_class_names_or_empty( $_POST['enabled_classes'] ) )
|
46 |
-
$errors['enabled_classes'] = true;
|
47 |
-
|
48 |
-
if ( ! jpibfi_is_numeric_or_empty( $_POST['custom_image_height'] ) )
|
49 |
-
$errors['custom_image_height'] = true;
|
50 |
-
|
51 |
-
if ( ! jpibfi_is_numeric_or_empty( $_POST['custom_image_width'] ) )
|
52 |
-
$errors['custom_image_width'] = true;
|
53 |
|
54 |
//rewrite settings that came from the POST request
|
55 |
$dev_options['image_selector'] = sanitize_text_field( $_POST['image_selector'] );
|
@@ -67,19 +64,22 @@ function jpibfi_print_admin_page() {
|
|
67 |
|
68 |
|
69 |
if ( $dev_options['compatibility_mode'] == '0' )
|
70 |
-
|
71 |
-
$errors['transparency_value'] = true;
|
72 |
|
73 |
$advanced_dev_options['on_home'] = $_POST['on_home'] == '1' ? '1' : '0';
|
74 |
$advanced_dev_options['on_page'] = $_POST['on_page'] == '1' ? '1' : '0';
|
75 |
$advanced_dev_options['on_single'] = $_POST['on_single'] == '1' ? '1' : '0';
|
76 |
$advanced_dev_options['on_category'] = $_POST['on_category'] == '1' ? '1' : '0';
|
77 |
|
78 |
-
|
79 |
-
|
80 |
-
|
|
|
|
|
|
|
|
|
81 |
?>
|
82 |
-
<p class=
|
83 |
<?php
|
84 |
}
|
85 |
else { //otherwise inform that there are some errors
|
@@ -89,12 +89,28 @@ function jpibfi_print_admin_page() {
|
|
89 |
}
|
90 |
}
|
91 |
?>
|
92 |
-
<div
|
93 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
94 |
|
95 |
<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">
|
96 |
<?php wp_nonce_field( "jpibfi_admin_settings", 'jpibfi_nonce' ); ?>
|
97 |
-
<h3>
|
|
|
98 |
|
99 |
<table class="settings-table">
|
100 |
<tbody>
|
@@ -106,10 +122,8 @@ function jpibfi_print_admin_page() {
|
|
106 |
|
107 |
<p class="description">jQuery selector for all the images that should have the "Pin it" button. Set
|
108 |
the value to <a href="#" class="jpibfi_selector_option">div.jpibfi_container img</a> if you want
|
109 |
-
the "Pin it" button to appear only on images in content or
|
110 |
-
|
111 |
-
to appear on all images on site (including sidebar, header and footer). If you know a thing or
|
112 |
-
two about jQuery, you might use your own selector.
|
113 |
<a href="http://api.jquery.com/category/selectors/" target="_blank">Click here</a> to read
|
114 |
about jQuery selectors.</p>
|
115 |
</td>
|
@@ -117,45 +131,50 @@ function jpibfi_print_admin_page() {
|
|
117 |
<tr>
|
118 |
<th scope="row"><label for="disabled_classes">Disabled classes</label></th>
|
119 |
<td>
|
120 |
-
<
|
121 |
-
|
122 |
-
name="disabled_classes" <?php jpibfi_print_error_class( $errors, 'disabled_classes' ); ?>><?php echo esc_attr( $dev_options['disabled_classes'] );?></textarea>
|
123 |
-
</div>
|
124 |
-
<?php jpibfi_print_error_div( "disabled_classes_error", $errors, "disabled_classes",
|
125 |
-
"Error. Please change this setting and try submitting again." ); ?>
|
126 |
|
127 |
-
<p class="description">Pictures with these CSS classes won't show the "Pin it" button. Please
|
128 |
-
separate multiple classes with semicolons. Spaces are not accepted.</p>
|
129 |
</td>
|
130 |
</tr>
|
131 |
<tr>
|
132 |
<th scope="row"><label for="enabled_classes">Enabled classes</label></th>
|
133 |
<td>
|
134 |
-
<
|
135 |
-
|
136 |
-
name="enabled_classes" <?php jpibfi_print_error_class( $errors, 'enabled_classes' ); ?>><?php echo $dev_options['enabled_classes'];?></textarea>
|
137 |
-
</div>
|
138 |
-
<?php jpibfi_print_error_div( "enabled_classes_error", $errors, "enabled_classes",
|
139 |
-
"Error. Please change this setting and try submitting again." ); ?>
|
140 |
-
|
141 |
<p class="description">Pictures with these CSS classes will show the "Pin it" button. Please
|
142 |
separate multiple classes with semicolons. If this field is empty, images with any (besides
|
143 |
disabled ones) classes will show the Pin It button.</p>
|
144 |
</td>
|
145 |
</tr>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
146 |
<tr>
|
147 |
<th scope="row"><label for="description_option">Description source</label></th>
|
148 |
<td>
|
149 |
<select id="description_option" name="description_option">
|
150 |
-
<option value="1" <?php
|
151 |
-
|
152 |
-
</option>
|
153 |
-
<option value="2" <?php if ( "2" == $dev_options['description_option'] ) echo "selected='selected'"; ?>>
|
154 |
-
Page description
|
155 |
-
</option>
|
156 |
-
<option value="3" <?php if ( "3" == $dev_options['description_option'] ) echo "selected='selected'"; ?>>
|
157 |
-
Picture title or alt attributes
|
158 |
-
</option>
|
159 |
</select>
|
160 |
|
161 |
<p class="description">From where the Pinterest message should be taken.</p>
|
@@ -165,31 +184,23 @@ function jpibfi_print_admin_page() {
|
|
165 |
<th scope="row"><label for="compatibility_mode">Transparency</label></th>
|
166 |
<td>
|
167 |
<select name="compatibility_mode" id="compatibility_mode">
|
168 |
-
<option value="0" <?php
|
169 |
-
|
170 |
-
</option>
|
171 |
-
<option value="1" <?php echo "1" == $dev_options['compatibility_mode'] ? "selected='selected'" : "";?>>
|
172 |
-
IE7 Compatibility mode
|
173 |
-
</option>
|
174 |
</select>
|
175 |
|
176 |
-
<p id="standard_mode_transparency" <?php echo "1" == $dev_options['compatibility_mode']
|
177 |
<label for="standard_transparency">Choose transparency (between 0.00 and 1.00)</label><br />
|
178 |
-
<input type="
|
179 |
-
value="<?php echo $dev_options['transparency_value'];?>" <?php
|
180 |
-
|
181 |
-
<?php jpibfi_print_error_div( "standard_transparency_error", $errors, "transparency_value",
|
182 |
-
"The number is not valid. Please change the value and try submitting again." ); ?>
|
183 |
-
|
184 |
</p>
|
185 |
|
186 |
-
<p id="compatibility_mode_transparency" <?php
|
187 |
<label for="compatibility_transparency">Choose transparency</label><br />
|
188 |
<select name="compatibility_transparency" id="compatibility_transparency">
|
189 |
<?php for ( $i = 0; $i <= 1; $i += 0.1 ): ?>
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
<?php endfor; ?>
|
194 |
</select>
|
195 |
</p>
|
@@ -198,57 +209,56 @@ function jpibfi_print_admin_page() {
|
|
198 |
</td>
|
199 |
</tr>
|
200 |
<tr>
|
201 |
-
<th scope="row"><label>
|
202 |
<td>
|
203 |
-
<
|
204 |
-
|
|
|
|
|
|
|
|
|
205 |
|
206 |
-
<p
|
207 |
-
<
|
|
|
208 |
</p>
|
209 |
|
210 |
-
<
|
211 |
-
<label for="custom_image_height">Height
|
212 |
-
<input type="
|
213 |
-
|
214 |
-
</
|
215 |
-
<?php jpibfi_print_error_div( "custom_image_height_error", $errors, "custom_image_height",
|
216 |
-
"Must be either blank or a number" ); ?>
|
217 |
|
218 |
-
<
|
219 |
-
<label for="custom_image_width">Width
|
220 |
-
<input type="
|
221 |
-
<?php
|
222 |
-
</
|
223 |
-
<?php jpibfi_print_error_div( "custom_image_width_error", $errors, "custom_image_width",
|
224 |
-
"Must be either blank or a number" ); ?>
|
225 |
|
226 |
-
<p class="description">
|
227 |
-
<b>Use custom image</b> checkbox, specify image's URL, height and width to use your own Pinterest button design.
|
228 |
</p>
|
229 |
</td>
|
230 |
</tr>
|
231 |
<tr>
|
232 |
-
<th scope="row"><label>
|
233 |
<td>
|
234 |
-
<
|
235 |
-
|
236 |
-
<
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
|
243 |
-
<p class="description">
|
244 |
</td>
|
245 |
</tr>
|
246 |
<tr>
|
247 |
<th scope="row"></th>
|
248 |
<td>
|
249 |
-
|
250 |
-
name="update_jQuery_Pin_It_Button_For_Images"
|
251 |
-
value="<?php _e( 'Update Settings', 'jQuery_Pin_It_Button_For_Images' ) ?>" />
|
252 |
</td>
|
253 |
</tr>
|
254 |
</tbody>
|
5 |
}
|
6 |
|
7 |
require_once( "jpibfi-validation.php" );
|
8 |
+
require_once( "jpibfi-constants.php" );
|
9 |
|
10 |
+
function jpibfi_conditional( $condition, $true_value = "", $false_value = "", $echo = true) {
|
11 |
+
if ( $condition ) {
|
12 |
+
if ( $echo )
|
13 |
+
echo $true_value;
|
14 |
+
return $true_value;
|
15 |
+
}
|
16 |
+
if ( $echo )
|
17 |
+
echo $false_value;
|
18 |
+
return $false_value;
|
19 |
|
|
|
|
|
|
|
|
|
|
|
20 |
}
|
21 |
|
|
|
|
|
22 |
//Prints out the admin page
|
23 |
function jpibfi_print_admin_page() {
|
|
|
|
|
24 |
|
25 |
$dev_options = jpibfi_get_basic_options();
|
26 |
$advanced_dev_options = jpibfi_get_advanced_options();
|
27 |
+
$errors = array(
|
28 |
+
'disabled_classes' => false,
|
29 |
+
'enabled_classes' => false,
|
30 |
+
'custom_image_height' => false,
|
31 |
+
'custom_image_width' => false,
|
32 |
+
'transparency_value' => false
|
33 |
+
);
|
34 |
+
?>
|
35 |
+
|
36 |
+
<div class="wrap" id="top_anchor">
|
37 |
+
<h2>jQuery Pin It Button For Images</h2>
|
38 |
|
39 |
+
<?php
|
40 |
|
41 |
if ( isset( $_POST['update_jQuery_Pin_It_Button_For_Images'] ) ) {
|
42 |
//security check
|
43 |
if ( ! wp_verify_nonce( $_POST['jpibfi_nonce'], 'jpibfi_admin_settings' ) )
|
44 |
die( 'Security alert' );
|
45 |
|
46 |
+
$errors['disabled_classes'] = ! jpibfi_contains_css_class_names_or_empty( $_POST['disabled_classes'] );
|
47 |
+
$errors['enabled_classes'] = ! jpibfi_contains_css_class_names_or_empty( $_POST['enabled_classes'] );
|
48 |
+
$errors['custom_image_height'] = ! jpibfi_is_numeric_or_empty( $_POST['custom_image_height'] );
|
49 |
+
$errors['custom_image_width'] = ! jpibfi_is_numeric_or_empty( $_POST['custom_image_width'] );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
50 |
|
51 |
//rewrite settings that came from the POST request
|
52 |
$dev_options['image_selector'] = sanitize_text_field( $_POST['image_selector'] );
|
64 |
|
65 |
|
66 |
if ( $dev_options['compatibility_mode'] == '0' )
|
67 |
+
$errors['transparency_value'] = ! is_numeric( $dev_options['transparency_value'] ) || ( $dev_options['transparency_value'] < 0.0 ) || ( $dev_options['transparency_value'] > 1.0 );
|
|
|
68 |
|
69 |
$advanced_dev_options['on_home'] = $_POST['on_home'] == '1' ? '1' : '0';
|
70 |
$advanced_dev_options['on_page'] = $_POST['on_page'] == '1' ? '1' : '0';
|
71 |
$advanced_dev_options['on_single'] = $_POST['on_single'] == '1' ? '1' : '0';
|
72 |
$advanced_dev_options['on_category'] = $_POST['on_category'] == '1' ? '1' : '0';
|
73 |
|
74 |
+
$any_errors = false;
|
75 |
+
foreach ( $errors as $value )
|
76 |
+
$any_errors = $any_errors || $value;
|
77 |
+
|
78 |
+
if ( ! $any_errors ) { //save only if there are no errors
|
79 |
+
update_option( JPIBFI_BASIC_OPTIONS, $dev_options );
|
80 |
+
update_option( JPIBFI_ADVANCED_OPTIONS, $advanced_dev_options );
|
81 |
?>
|
82 |
+
<p class='jpibfi-success-message'><?php _e( "Settings Updated.", "jpibfi" );?></p>
|
83 |
<?php
|
84 |
}
|
85 |
else { //otherwise inform that there are some errors
|
89 |
}
|
90 |
}
|
91 |
?>
|
92 |
+
<div id="errors_div">
|
93 |
+
<div id="disabled_classes_error" class="<?php jpibfi_conditional( $errors["disabled_classes"], "jpibfi-visible", "jpibfi-hidden" ); ?>">
|
94 |
+
Disabled classes setting error. Please change it and try submitting again.
|
95 |
+
</div>
|
96 |
+
<div id="enabled_classes_error" class="<?php jpibfi_conditional( $errors["enabled_classes"], "jpibfi-visible", "jpibfi-hidden" ); ?>">
|
97 |
+
Enabled classes setting error. Please change it and try submitting again.
|
98 |
+
</div>
|
99 |
+
<div id="standard_transparency_error" class="<?php jpibfi_conditional( $errors["transparency_value"], "jpibfi-visible", "jpibfi-hidden" ); ?>">
|
100 |
+
The given transparency error is not valid. Please change the value and try submitting again.
|
101 |
+
</div>
|
102 |
+
<div id="custom_image_height_error" class="<?php jpibfi_conditional( $errors["custom_image_height"], "jpibfi-visible", "jpibfi-hidden" ); ?>">
|
103 |
+
Custom image height must be either blank or a number.
|
104 |
+
</div>
|
105 |
+
<div id="custom_image_width_error" class="<?php jpibfi_conditional( $errors["custom_image_width"], "jpibfi-visible", "jpibfi-hidden" ); ?>">
|
106 |
+
Custom image width must be either blank or a number.
|
107 |
+
</div>
|
108 |
+
</div>
|
109 |
|
110 |
<form method="post" action="<?php echo $_SERVER["REQUEST_URI"]; ?>">
|
111 |
<?php wp_nonce_field( "jpibfi_admin_settings", 'jpibfi_nonce' ); ?>
|
112 |
+
<h3>Which images should be pinned</h3>
|
113 |
+
<hr/>
|
114 |
|
115 |
<table class="settings-table">
|
116 |
<tbody>
|
122 |
|
123 |
<p class="description">jQuery selector for all the images that should have the "Pin it" button. Set
|
124 |
the value to <a href="#" class="jpibfi_selector_option">div.jpibfi_container img</a> if you want
|
125 |
+
the "Pin it" button to appear only on images in content or <a href="#" class="jpibfi_selector_option">img</a>
|
126 |
+
to appear on all images on site (including sidebar, header and footer). If you know a thing or two about jQuery, you might use your own selector.
|
|
|
|
|
127 |
<a href="http://api.jquery.com/category/selectors/" target="_blank">Click here</a> to read
|
128 |
about jQuery selectors.</p>
|
129 |
</td>
|
131 |
<tr>
|
132 |
<th scope="row"><label for="disabled_classes">Disabled classes</label></th>
|
133 |
<td>
|
134 |
+
<textarea id="disabled_classes" name="disabled_classes" <?php jpibfi_conditional( $errors["disabled_classes"], "class='error-border'" ); ?>
|
135 |
+
><?php echo esc_attr( $dev_options['disabled_classes'] );?></textarea>
|
|
|
|
|
|
|
|
|
136 |
|
137 |
+
<p class="description">Pictures with these CSS classes won't show the "Pin it" button. Please separate multiple classes with semicolons. Spaces are not accepted.</p>
|
|
|
138 |
</td>
|
139 |
</tr>
|
140 |
<tr>
|
141 |
<th scope="row"><label for="enabled_classes">Enabled classes</label></th>
|
142 |
<td>
|
143 |
+
<textarea id="enabled_classes" name="enabled_classes" <?php jpibfi_conditional( $errors["enabled_classes"], "class='error-border'" ); ?>
|
144 |
+
><?php echo esc_attr( $dev_options['enabled_classes'] );?></textarea>
|
|
|
|
|
|
|
|
|
|
|
145 |
<p class="description">Pictures with these CSS classes will show the "Pin it" button. Please
|
146 |
separate multiple classes with semicolons. If this field is empty, images with any (besides
|
147 |
disabled ones) classes will show the Pin It button.</p>
|
148 |
</td>
|
149 |
</tr>
|
150 |
+
<tr>
|
151 |
+
<th scope="row"><label>On which pages the "Pin it" button should be shown</label></th>
|
152 |
+
<td>
|
153 |
+
<input type="checkbox" id="on_home" name="on_home" <?php checked( "1", $advanced_dev_options['on_home'] ); ?> value="1" />
|
154 |
+
<label for="on_home"> Home page</label><br />
|
155 |
+
<input type="checkbox" id="on_page" name="on_page" <?php checked( "1", $advanced_dev_options['on_page'] ); ?> value="1" />
|
156 |
+
<label for="on_page"> Pages</label><br />
|
157 |
+
<input type="checkbox" id="on_single" name="on_single" <?php checked( "1", $advanced_dev_options['on_single'] ); ?> value="1" />
|
158 |
+
<label for="on_single"> Single posts</label><br />
|
159 |
+
<input type="checkbox" id="on_category" name="on_category" <?php checked( "1", $advanced_dev_options['on_category'] ); ?> value="1" />
|
160 |
+
<label for="on_category"> Category pages</label>
|
161 |
+
|
162 |
+
<p class="description">Check on which pages you want the Pinterest button to show up.</p>
|
163 |
+
</td>
|
164 |
+
</tr>
|
165 |
+
</tbody>
|
166 |
+
</table>
|
167 |
+
<h3>Visual settings</h3>
|
168 |
+
<hr/>
|
169 |
+
<table class="settings-table">
|
170 |
+
<tbody>
|
171 |
<tr>
|
172 |
<th scope="row"><label for="description_option">Description source</label></th>
|
173 |
<td>
|
174 |
<select id="description_option" name="description_option">
|
175 |
+
<option value="1" <?php selected ( "1", $dev_options['description_option'] ); ?>>Page title</option>
|
176 |
+
<option value="2" <?php selected ( "2", $dev_options['description_option'] ); ?>>Page description</option>
|
177 |
+
<option value="3" <?php selected ( "3", $dev_options['description_option'] ); ?>>Picture title or alt attributes</option>
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
</select>
|
179 |
|
180 |
<p class="description">From where the Pinterest message should be taken.</p>
|
184 |
<th scope="row"><label for="compatibility_mode">Transparency</label></th>
|
185 |
<td>
|
186 |
<select name="compatibility_mode" id="compatibility_mode">
|
187 |
+
<option value="0" <?php selected( "0", $dev_options['compatibility_mode'] ); ?>>Standard mode</option>
|
188 |
+
<option value="1" <?php selected( "1", $dev_options['compatibility_mode'] ); ?>>IE7 Compatibility mode</option>
|
|
|
|
|
|
|
|
|
189 |
</select>
|
190 |
|
191 |
+
<p id="standard_mode_transparency" <?php echo jpibfi_conditional( "1" == $dev_options['compatibility_mode'], "style='display:none'" );?>>
|
192 |
<label for="standard_transparency">Choose transparency (between 0.00 and 1.00)</label><br />
|
193 |
+
<input type="number" min="0" max="1" step="0.01" id="standard_transparency" name="standard_transparency"
|
194 |
+
value="<?php echo $dev_options['transparency_value'];?>" <?php jpibfi_conditional( $errors["transparency_value"], "class='error-border'" ); ?>/>
|
|
|
|
|
|
|
|
|
195 |
</p>
|
196 |
|
197 |
+
<p id="compatibility_mode_transparency" <?php jpibfi_conditional( "0" == $dev_options['compatibility_mode'], "style='display:none'" ); ?>>
|
198 |
<label for="compatibility_transparency">Choose transparency</label><br />
|
199 |
<select name="compatibility_transparency" id="compatibility_transparency">
|
200 |
<?php for ( $i = 0; $i <= 1; $i += 0.1 ): ?>
|
201 |
+
<option value="<?php echo $i;?>" <?php selected( round( $i, 1 ), round( $dev_options['transparency_value'], 1 ) ); ?>>
|
202 |
+
<?php echo $i;?>
|
203 |
+
</option>
|
204 |
<?php endfor; ?>
|
205 |
</select>
|
206 |
</p>
|
209 |
</td>
|
210 |
</tr>
|
211 |
<tr>
|
212 |
+
<th scope="row"><label>Custom "Pin It" button</label></th>
|
213 |
<td>
|
214 |
+
<p>
|
215 |
+
<input type="checkbox" id="use_custom_image" name="use_custom_image" value="1" <?php checked( "1", $dev_options["use_custom_image"] ); ?> />
|
216 |
+
<label class="chbox-label" for="use_custom_image">Use custom image</label>
|
217 |
+
</p>
|
218 |
+
|
219 |
+
<input id="upload-image" type='button' class='button' value='Upload an image using media library'/></br>
|
220 |
|
221 |
+
<p>
|
222 |
+
<label for="custom_image_url">URL address of the image</label>
|
223 |
+
<input type="url" id="custom_image_url" name="custom_image_url" value="<?php echo $dev_options["custom_image_url"]; ?>" style="width: 100%;" />
|
224 |
</p>
|
225 |
|
226 |
+
<p>
|
227 |
+
<label for="custom_image_height">Height</label>
|
228 |
+
<input type="number" min="1" step="1" id="custom_image_height" name="custom_image_height" value="<?php echo $dev_options["custom_image_height"]; ?>"
|
229 |
+
class="jpibfi-admin-number <?php jpibfi_conditional( $errors['custom_image_height'], "error-border"); ?>" /> px
|
230 |
+
</p>
|
|
|
|
|
231 |
|
232 |
+
<p>
|
233 |
+
<label for="custom_image_width">Width</label>
|
234 |
+
<input type="number" min="1" step="1" id="custom_image_width" name="custom_image_width" value="<?php echo $dev_options["custom_image_width"]; ?>"
|
235 |
+
class="jpibfi-admin-number <?php jpibfi_conditional( $errors['custom_image_width'], "error-border" ); ?>" /> px
|
236 |
+
</p>
|
|
|
|
|
237 |
|
238 |
+
<p class="description">
|
239 |
+
Check the <b>Use custom image</b> checkbox, specify image's URL, height and width to use your own Pinterest button design. You can just upload an image using Wordpress media library if you wish.
|
240 |
</p>
|
241 |
</td>
|
242 |
</tr>
|
243 |
<tr>
|
244 |
+
<th scope="row"><label>Preview</label></th>
|
245 |
<td>
|
246 |
+
<img src="<?php echo plugins_url( '/images/image_preview.jpg', __FILE__ ); ?>" id="<?php echo JPIBFI_PREVIEW_IMAGE_ID; ?>"
|
247 |
+
alt="This is a preview"/>
|
248 |
+
<p class="description">Make sure you reload the settings page (click the proper link in Settings section) once again after saving the settings to make preview work properly.</p>
|
249 |
+
</td>
|
250 |
+
</tr>
|
251 |
+
<tr>
|
252 |
+
<th scope="row"><label>Donate</label></th>
|
253 |
+
<td>
|
254 |
+
<a href="http://bit.ly/Uw2mEP" target="_blank" rel="nofollow" class="button"><b>Donate</b></a>
|
255 |
+
<p class="description">If you like the plugin and would like to support its author, please donate.</p>
|
256 |
</td>
|
257 |
</tr>
|
258 |
<tr>
|
259 |
<th scope="row"></th>
|
260 |
<td>
|
261 |
+
<?php submit_button( null, 'primary', "update_jQuery_Pin_It_Button_For_Images", true, array( 'id' => 'submit_form' ) ); ?>
|
|
|
|
|
262 |
</td>
|
263 |
</tr>
|
264 |
</tbody>
|
jpibfi-constants.php
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
if ( ! function_exists( 'add_action' ) ) {
|
4 |
+
echo "Hi there! I'm just a plugin, not much I can do when called directly.";
|
5 |
+
exit;
|
6 |
+
}
|
7 |
+
|
8 |
+
define( "JPIBFI_VERSION", "0.9.5" );
|
9 |
+
define( "JPIBFI_BASIC_OPTIONS", "jptbfi_options" );
|
10 |
+
define( "JPIBFI_ADVANCED_OPTIONS", "jptbfi_advanced_options" );
|
11 |
+
define( "JPIBFI_METADATA", "jpibfi_meta");
|
12 |
+
|
13 |
+
//DEFAULT PIN BUTTON IMAGE
|
14 |
+
define( "JPIBFI_IMAGE_URL", plugins_url( '/images/pinit-button.png', __FILE__ ) );
|
15 |
+
define( "JPIBFI_IMAGE_WIDTH", 65 );
|
16 |
+
define( "JPIBFI_IMAGE_HEIGHT", 41 );
|
17 |
+
|
18 |
+
define( "JPIBFI_PREVIEW_IMAGE_ID", "jpibfi_preview_image" );
|
jquery-pin-it-button-for-images.php
CHANGED
@@ -4,7 +4,7 @@ Plugin Name: jQuery Pin It Button For Images
|
|
4 |
Plugin URI: http://wordpress.org/extend/plugins/jquery-pin-it-button-for-images/
|
5 |
Description: Highlights images on hover and adds a "Pin It" button over them for easy pinning.
|
6 |
Author: Marcin Skrzypiec
|
7 |
-
Version: 0.9.
|
8 |
Author URI: http://profiles.wordpress.org/mrsztuczkens
|
9 |
*/
|
10 |
|
@@ -13,20 +13,15 @@ if ( ! function_exists( 'add_action' ) ) {
|
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
-
|
17 |
-
|
18 |
require_once( "jpibfi-validation.php" );
|
19 |
require_once( "jpibfi-admin.php" );
|
20 |
|
21 |
$jpbfi_description_option_values = array( '1', '2', '3' );
|
22 |
-
$jpibfi_admin_basic_options_name = "jptbfi_options";
|
23 |
-
$jpibfi_admin_advanced_options_name = "jptbfi_advanced_options";
|
24 |
-
$jpibfi_post_metadata_name = "jpibfi_meta";
|
25 |
-
|
26 |
|
27 |
//Returns an array of basic admin options, updates settings if necessary
|
28 |
function jpibfi_get_basic_options() {
|
29 |
-
global $
|
30 |
|
31 |
$admin_options = array(
|
32 |
'image_selector' => 'div.jpibfi_container img',
|
@@ -41,7 +36,7 @@ function jpibfi_get_basic_options() {
|
|
41 |
'custom_image_width' => ''
|
42 |
);
|
43 |
|
44 |
-
$dev_options = get_option(
|
45 |
|
46 |
$changes_in_db = count( $admin_options ) != count( $dev_options ); //if arrays aren't of the same length, changes in db needed
|
47 |
|
@@ -95,16 +90,13 @@ function jpibfi_get_basic_options() {
|
|
95 |
|
96 |
//if something changed in the database, we need to save it
|
97 |
if ( $changes_in_db )
|
98 |
-
update_option(
|
99 |
|
100 |
return $admin_options;
|
101 |
}
|
102 |
|
103 |
-
//End function jpibfi_get_basic_options()
|
104 |
-
|
105 |
//Returns an array of advanced admin options, updates settings if necessary
|
106 |
function jpibfi_get_advanced_options() {
|
107 |
-
global $jpibfi_admin_advanced_options_name;
|
108 |
|
109 |
$admin_options = array(
|
110 |
'on_home' => '1',
|
@@ -113,7 +105,7 @@ function jpibfi_get_advanced_options() {
|
|
113 |
'on_category' => '1'
|
114 |
);
|
115 |
|
116 |
-
$dev_options = get_option(
|
117 |
$changes_in_db = count( $admin_options ) != count( $dev_options ); //if arrays aren't of the same length, changes in db needed
|
118 |
|
119 |
foreach ( $admin_options as $setting_name => $setting_value ) {
|
@@ -123,16 +115,13 @@ function jpibfi_get_advanced_options() {
|
|
123 |
|
124 |
//if something changed in the database, we need to save it
|
125 |
if ( $changes_in_db )
|
126 |
-
update_option(
|
127 |
return $admin_options;
|
128 |
}
|
129 |
-
//
|
130 |
-
|
131 |
|
132 |
//returns false if plugin shouldn't be added to certain post based on metadata, otherwise true
|
133 |
function jpibfi_add_plugin_to_post( $post_id ) {
|
134 |
-
|
135 |
-
$post_meta = get_post_meta( $post_id, $jpibfi_post_metadata_name, true );
|
136 |
if ( ! empty( $post_meta ) && array_key_exists( 'jpibfi_disable_for_post', $post_meta ) && $post_meta['jpibfi_disable_for_post'] == '1' )
|
137 |
return false;
|
138 |
return true;
|
@@ -140,6 +129,9 @@ function jpibfi_add_plugin_to_post( $post_id ) {
|
|
140 |
|
141 |
//Returns true if plugin should be added to a certain page
|
142 |
function jpibfi_add_plugin() {
|
|
|
|
|
|
|
143 |
global $post;
|
144 |
$advanced_settings = jpibfi_get_advanced_options();
|
145 |
|
@@ -164,34 +156,20 @@ function jpibfi_init_plugin() {
|
|
164 |
function jpibfi_add_plugin_scripts() {
|
165 |
if ( ! ( jpibfi_add_plugin() ) )
|
166 |
return;
|
167 |
-
// Adding my custom js, dependent on jquery
|
168 |
-
wp_enqueue_script( 'jquery-pin-it-button-script', plugins_url( '/js/script.min.js', __FILE__ ), array( 'jquery' ), JPIBFI_VERSION, false );
|
169 |
-
// Registering my custom style
|
170 |
-
wp_register_style( 'jquery-pin-it-button-style', plugins_url( '/css/style.css', __FILE__ ), array(), JPIBFI_VERSION, 'all' );
|
171 |
-
//Enqueue the style
|
172 |
-
wp_enqueue_style( 'jquery-pin-it-button-style' );
|
173 |
-
}
|
174 |
|
175 |
-
|
176 |
-
if ( !jpibfi_add_plugin() )
|
177 |
-
return;
|
178 |
|
179 |
$dev_options = jpibfi_get_basic_options();
|
180 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
|
182 |
-
|
183 |
-
|
184 |
-
jQuery(document).ready(function ($) {
|
185 |
-
$('.jpibfi').parent('div').addClass('jpibfi_container');
|
186 |
-
jpibfi_pinit({
|
187 |
-
image_selector:'<?php echo $dev_options['image_selector'];?>',
|
188 |
-
disabled_classes:'<?php echo $dev_options['disabled_classes'];?>',
|
189 |
-
description_option:'<?php echo $dev_options['description_option'];?>'
|
190 |
-
<?php echo $enabled_classes;?>
|
191 |
-
});
|
192 |
-
});
|
193 |
-
</script>
|
194 |
-
<?php
|
195 |
}
|
196 |
|
197 |
function jpibfi_print_header_style_action() {
|
@@ -213,9 +191,9 @@ function jpibfi_print_header_style_action() {
|
|
213 |
$url = $dev_options['custom_image_url'];
|
214 |
}
|
215 |
else {
|
216 |
-
$width =
|
217 |
-
$height =
|
218 |
-
$url =
|
219 |
}
|
220 |
|
221 |
?>
|
@@ -240,15 +218,34 @@ function jpibfi_print_hidden_field_script( $content ) {
|
|
240 |
|
241 |
//add admin scripts
|
242 |
function jpibfi_add_admin_site_scripts() {
|
|
|
|
|
243 |
wp_register_style( 'jquery-pin-it-button-admin-style', plugins_url( '/css/admin.css', __FILE__ ), array(), JPIBFI_VERSION, 'all' );
|
244 |
wp_enqueue_style( 'jquery-pin-it-button-admin-style' );
|
245 |
-
wp_enqueue_script( 'jquery-pin-it-button-script', plugins_url( '/js/admin.js', __FILE__ ), array( 'jquery' ), JPIBFI_VERSION, false );
|
246 |
-
}
|
247 |
|
|
|
|
|
|
|
|
|
|
|
|
|
248 |
|
|
|
|
|
|
|
249 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
250 |
|
251 |
-
|
|
|
|
|
252 |
|
253 |
function jpibfi_print_admin_page_action() {
|
254 |
$page = add_options_page( 'jQuery Pin It Button For Images', 'jQuery Pin It Button For Images', 9, basename( __FILE__ ), 'jpibfi_print_admin_page' );
|
@@ -289,11 +286,10 @@ function jpibfi_add_meta_box() {
|
|
289 |
|
290 |
// display the metabox
|
291 |
function jpibfi_print_meta_box( $post, $metabox ) {
|
292 |
-
global $jpibfi_post_metadata_name;
|
293 |
|
294 |
wp_nonce_field( plugin_basename( __FILE__ ), 'jpibfi_nonce' );
|
295 |
|
296 |
-
$post_meta = get_post_meta( $post->ID,
|
297 |
if ( isset( $post_meta ) && isset( $post_meta['jpibfi_disable_for_post'] ) && $post_meta['jpibfi_disable_for_post'] == '1' )
|
298 |
$checked_message = 'checked="checked"';
|
299 |
else
|
@@ -304,7 +300,6 @@ function jpibfi_print_meta_box( $post, $metabox ) {
|
|
304 |
}
|
305 |
|
306 |
function jpibfi_save_meta_data( $post_id ) {
|
307 |
-
global $jpibfi_post_metadata_name;
|
308 |
|
309 |
// check if this isn't an auto save
|
310 |
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
|
@@ -322,23 +317,22 @@ function jpibfi_save_meta_data( $post_id ) {
|
|
322 |
isset( $_POST['jpibfi_disable_for_post'] ) && $_POST['jpibfi_disable_for_post'] == '1' ? '1' : '0';
|
323 |
|
324 |
if ( $post_meta['jpibfi_disable_for_post'] == '1' )
|
325 |
-
update_post_meta( $post_id,
|
326 |
else
|
327 |
-
delete_post_meta( $post_id,
|
328 |
}
|
329 |
|
330 |
//END POST EDITOR CODE
|
331 |
|
332 |
//fire it when the plugin is deleted
|
333 |
function jpibfi_uninstall_plugin() {
|
334 |
-
global $jpibfi_admin_basic_options_name, $jpibfi_admin_advanced_options_name, $jpibfi_post_metadata_name;
|
335 |
|
336 |
//delete all added options
|
337 |
-
delete_option(
|
338 |
-
delete_option(
|
339 |
|
340 |
//delete added metadata from all posts
|
341 |
-
delete_post_meta_by_key(
|
342 |
}
|
343 |
|
344 |
//Actions and Filters
|
@@ -348,7 +342,6 @@ function jpibfi_uninstall_plugin() {
|
|
348 |
//Actions
|
349 |
add_action( 'wp_enqueue_scripts', 'jpibfi_add_plugin_scripts' );
|
350 |
add_action( 'admin_menu', 'jpibfi_print_admin_page_action' );
|
351 |
-
add_action( 'wp_footer', 'jpibfi_footer_action' );
|
352 |
add_action( 'wp_head', 'jpibfi_print_header_style_action' );
|
353 |
add_action( 'add_meta_boxes', 'jpibfi_add_meta_box' );
|
354 |
add_action( 'save_post', 'jpibfi_save_meta_data' );
|
4 |
Plugin URI: http://wordpress.org/extend/plugins/jquery-pin-it-button-for-images/
|
5 |
Description: Highlights images on hover and adds a "Pin It" button over them for easy pinning.
|
6 |
Author: Marcin Skrzypiec
|
7 |
+
Version: 0.9.5
|
8 |
Author URI: http://profiles.wordpress.org/mrsztuczkens
|
9 |
*/
|
10 |
|
13 |
exit;
|
14 |
}
|
15 |
|
16 |
+
require_once( "jpibfi-constants.php" );
|
|
|
17 |
require_once( "jpibfi-validation.php" );
|
18 |
require_once( "jpibfi-admin.php" );
|
19 |
|
20 |
$jpbfi_description_option_values = array( '1', '2', '3' );
|
|
|
|
|
|
|
|
|
21 |
|
22 |
//Returns an array of basic admin options, updates settings if necessary
|
23 |
function jpibfi_get_basic_options() {
|
24 |
+
global $jpbfi_description_option_values;
|
25 |
|
26 |
$admin_options = array(
|
27 |
'image_selector' => 'div.jpibfi_container img',
|
36 |
'custom_image_width' => ''
|
37 |
);
|
38 |
|
39 |
+
$dev_options = get_option( JPIBFI_BASIC_OPTIONS );
|
40 |
|
41 |
$changes_in_db = count( $admin_options ) != count( $dev_options ); //if arrays aren't of the same length, changes in db needed
|
42 |
|
90 |
|
91 |
//if something changed in the database, we need to save it
|
92 |
if ( $changes_in_db )
|
93 |
+
update_option( JPIBFI_BASIC_OPTIONS, $admin_options );
|
94 |
|
95 |
return $admin_options;
|
96 |
}
|
97 |
|
|
|
|
|
98 |
//Returns an array of advanced admin options, updates settings if necessary
|
99 |
function jpibfi_get_advanced_options() {
|
|
|
100 |
|
101 |
$admin_options = array(
|
102 |
'on_home' => '1',
|
105 |
'on_category' => '1'
|
106 |
);
|
107 |
|
108 |
+
$dev_options = get_option( JPIBFI_ADVANCED_OPTIONS );
|
109 |
$changes_in_db = count( $admin_options ) != count( $dev_options ); //if arrays aren't of the same length, changes in db needed
|
110 |
|
111 |
foreach ( $admin_options as $setting_name => $setting_value ) {
|
115 |
|
116 |
//if something changed in the database, we need to save it
|
117 |
if ( $changes_in_db )
|
118 |
+
update_option( JPIBFI_ADVANCED_OPTIONS, $admin_options );
|
119 |
return $admin_options;
|
120 |
}
|
|
|
|
|
121 |
|
122 |
//returns false if plugin shouldn't be added to certain post based on metadata, otherwise true
|
123 |
function jpibfi_add_plugin_to_post( $post_id ) {
|
124 |
+
$post_meta = get_post_meta( $post_id, JPIBFI_METADATA, true );
|
|
|
125 |
if ( ! empty( $post_meta ) && array_key_exists( 'jpibfi_disable_for_post', $post_meta ) && $post_meta['jpibfi_disable_for_post'] == '1' )
|
126 |
return false;
|
127 |
return true;
|
129 |
|
130 |
//Returns true if plugin should be added to a certain page
|
131 |
function jpibfi_add_plugin() {
|
132 |
+
if ( is_admin() )
|
133 |
+
return true;
|
134 |
+
|
135 |
global $post;
|
136 |
$advanced_settings = jpibfi_get_advanced_options();
|
137 |
|
156 |
function jpibfi_add_plugin_scripts() {
|
157 |
if ( ! ( jpibfi_add_plugin() ) )
|
158 |
return;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
159 |
|
160 |
+
wp_enqueue_script( 'jquery-pin-it-button-script', plugins_url( '/js/script.min.js', __FILE__ ), array( 'jquery' ), JPIBFI_VERSION, false );
|
|
|
|
|
161 |
|
162 |
$dev_options = jpibfi_get_basic_options();
|
163 |
+
$parameters_array = array(
|
164 |
+
'image_selector' => $dev_options['image_selector'],
|
165 |
+
'disabled_classes' => $dev_options['disabled_classes'],
|
166 |
+
'enabled_classes' => $dev_options['enabled_classes'],
|
167 |
+
'description_option' => $dev_options['description_option']
|
168 |
+
);
|
169 |
+
wp_localize_script('jquery-pin-it-button-script', 'jpibfi_options', $parameters_array);
|
170 |
|
171 |
+
wp_register_style( 'jquery-pin-it-button-style', plugins_url( '/css/style.css', __FILE__ ), array(), JPIBFI_VERSION, 'all' );
|
172 |
+
wp_enqueue_style( 'jquery-pin-it-button-style' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
}
|
174 |
|
175 |
function jpibfi_print_header_style_action() {
|
191 |
$url = $dev_options['custom_image_url'];
|
192 |
}
|
193 |
else {
|
194 |
+
$width = JPIBFI_IMAGE_WIDTH;
|
195 |
+
$height = JPIBFI_IMAGE_WIDTH;
|
196 |
+
$url = JPIBFI_IMAGE_URL;
|
197 |
}
|
198 |
|
199 |
?>
|
218 |
|
219 |
//add admin scripts
|
220 |
function jpibfi_add_admin_site_scripts() {
|
221 |
+
|
222 |
+
wp_enqueue_style( 'thickbox' );
|
223 |
wp_register_style( 'jquery-pin-it-button-admin-style', plugins_url( '/css/admin.css', __FILE__ ), array(), JPIBFI_VERSION, 'all' );
|
224 |
wp_enqueue_style( 'jquery-pin-it-button-admin-style' );
|
225 |
+
wp_enqueue_script( 'jquery-pin-it-button-admin-script', plugins_url( '/js/admin.js', __FILE__ ), array( 'jquery' ), JPIBFI_VERSION, false );
|
|
|
226 |
|
227 |
+
if ( function_exists( "wp_enqueue_media") ) {
|
228 |
+
wp_enqueue_media();
|
229 |
+
wp_enqueue_script( 'jpibfi-upload-new', plugins_url( '/js/upload-button-new.js', __FILE__ ), array(), JPIBFI_VERSION, false );
|
230 |
+
} else {
|
231 |
+
wp_enqueue_script( 'jpibfi-upload-old', plugins_url( '/js/upload-button-old.js', __FILE__ ), array('thickbox', 'media-upload' ), JPIBFI_VERSION, false );
|
232 |
+
}
|
233 |
|
234 |
+
//for preview purposes
|
235 |
+
jpibfi_print_header_style_action();
|
236 |
+
wp_enqueue_script( 'jquery-pin-it-button-script', plugins_url( '/js/script.min.js', __FILE__ ), array( 'jquery' ), JPIBFI_VERSION, false );
|
237 |
|
238 |
+
$parameters_array = array(
|
239 |
+
'image_selector' => '#' . JPIBFI_PREVIEW_IMAGE_ID,
|
240 |
+
'disabled_classes' => "",
|
241 |
+
'enabled_classes' => "",
|
242 |
+
'description_option' => 3
|
243 |
+
);
|
244 |
+
wp_localize_script('jquery-pin-it-button-script', 'jpibfi_options', $parameters_array);
|
245 |
|
246 |
+
wp_register_style( 'jquery-pin-it-button-style', plugins_url( '/css/style.css', __FILE__ ), array(), JPIBFI_VERSION, 'all' );
|
247 |
+
wp_enqueue_style( 'jquery-pin-it-button-style' );
|
248 |
+
}
|
249 |
|
250 |
function jpibfi_print_admin_page_action() {
|
251 |
$page = add_options_page( 'jQuery Pin It Button For Images', 'jQuery Pin It Button For Images', 9, basename( __FILE__ ), 'jpibfi_print_admin_page' );
|
286 |
|
287 |
// display the metabox
|
288 |
function jpibfi_print_meta_box( $post, $metabox ) {
|
|
|
289 |
|
290 |
wp_nonce_field( plugin_basename( __FILE__ ), 'jpibfi_nonce' );
|
291 |
|
292 |
+
$post_meta = get_post_meta( $post->ID, JPIBFI_METADATA, true );
|
293 |
if ( isset( $post_meta ) && isset( $post_meta['jpibfi_disable_for_post'] ) && $post_meta['jpibfi_disable_for_post'] == '1' )
|
294 |
$checked_message = 'checked="checked"';
|
295 |
else
|
300 |
}
|
301 |
|
302 |
function jpibfi_save_meta_data( $post_id ) {
|
|
|
303 |
|
304 |
// check if this isn't an auto save
|
305 |
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
|
317 |
isset( $_POST['jpibfi_disable_for_post'] ) && $_POST['jpibfi_disable_for_post'] == '1' ? '1' : '0';
|
318 |
|
319 |
if ( $post_meta['jpibfi_disable_for_post'] == '1' )
|
320 |
+
update_post_meta( $post_id, JPIBFI_METADATA, $post_meta );
|
321 |
else
|
322 |
+
delete_post_meta( $post_id, JPIBFI_METADATA );
|
323 |
}
|
324 |
|
325 |
//END POST EDITOR CODE
|
326 |
|
327 |
//fire it when the plugin is deleted
|
328 |
function jpibfi_uninstall_plugin() {
|
|
|
329 |
|
330 |
//delete all added options
|
331 |
+
delete_option( JPIBFI_BASIC_OPTIONS );
|
332 |
+
delete_option( JPIBFI_ADVANCED_OPTIONS );
|
333 |
|
334 |
//delete added metadata from all posts
|
335 |
+
delete_post_meta_by_key( JPIBFI_METADATA );
|
336 |
}
|
337 |
|
338 |
//Actions and Filters
|
342 |
//Actions
|
343 |
add_action( 'wp_enqueue_scripts', 'jpibfi_add_plugin_scripts' );
|
344 |
add_action( 'admin_menu', 'jpibfi_print_admin_page_action' );
|
|
|
345 |
add_action( 'wp_head', 'jpibfi_print_header_style_action' );
|
346 |
add_action( 'add_meta_boxes', 'jpibfi_add_meta_box' );
|
347 |
add_action( 'save_post', 'jpibfi_save_meta_data' );
|
js/admin.js
CHANGED
@@ -49,11 +49,14 @@ jQuery(document).ready(function($) {
|
|
49 |
}
|
50 |
}
|
51 |
|
52 |
-
if (error)
|
53 |
e.preventDefault();
|
|
|
|
|
|
|
54 |
});
|
55 |
|
56 |
-
|
57 |
if ($(this).val() == '0') {
|
58 |
$('#standard_mode_transparency').show();
|
59 |
$('#compatibility_mode_transparency').hide();
|
@@ -86,7 +89,7 @@ jQuery(document).ready(function($) {
|
|
86 |
return only_css_class_names;
|
87 |
}
|
88 |
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
});
|
49 |
}
|
50 |
}
|
51 |
|
52 |
+
if (error) {
|
53 |
e.preventDefault();
|
54 |
+
location.hash = "#top_anchor";
|
55 |
+
}
|
56 |
+
|
57 |
});
|
58 |
|
59 |
+
$('#compatibility_mode').change( function() {
|
60 |
if ($(this).val() == '0') {
|
61 |
$('#standard_mode_transparency').show();
|
62 |
$('#compatibility_mode_transparency').hide();
|
89 |
return only_css_class_names;
|
90 |
}
|
91 |
|
92 |
+
function contains_number_or_empty(value){
|
93 |
+
return value.length == 0 || /^(\d+)\s*$/.test(value);
|
94 |
+
}
|
95 |
});
|
js/script.js
CHANGED
@@ -1,107 +1,123 @@
|
|
1 |
-
function
|
2 |
-
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
|
|
12 |
|
13 |
-
|
14 |
var allowed_classes = o.enabled_classes.split(';');
|
15 |
|
16 |
-
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
if (e.hasClass(discriminator_classes[c]))
|
21 |
-
return;
|
22 |
-
}
|
23 |
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
break;
|
30 |
}
|
31 |
}
|
32 |
-
|
33 |
-
|
34 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
35 |
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
$("img[data-indexer]").each(function () {
|
45 |
-
var image = $(this),
|
46 |
-
pi_url = o.pageURL;
|
47 |
-
|
48 |
-
//Pin message depending on settings
|
49 |
-
var pi_desc;
|
50 |
-
if (o.description_option == 3)
|
51 |
-
pi_desc = image.attr('title') ? image.attr('title') : image.attr('alt');
|
52 |
-
else if (o.description_option == 2)
|
53 |
-
pi_desc = o.pageDescription;
|
54 |
-
!pi_desc && (pi_desc = o.pageTitle);
|
55 |
-
|
56 |
-
var indexer = image.attr("data-indexer"),
|
57 |
-
bookmark = 'http://pinterest.com/pin/create/bookmarklet/?url=' + encodeURI(pi_url) + '&is_video=' + encodeURI('false') + '&description=' + encodeURI(pi_desc),
|
58 |
-
height = this.clientHeight,
|
59 |
-
width = this.clientWidth;
|
60 |
-
|
61 |
-
image.wrap('<div class="pinit" data-indexer="' + indexer + '"/>');
|
62 |
-
image.after('<span class="pinit-overlay" data-indexer= "' + indexer + '"><a class="pinit-button" href="' + bookmark + '" data-indexer= "' + indexer + '">Pin It</a></span>');
|
63 |
-
image.attr('height', height + 'px').attr('width', width + 'px');
|
64 |
-
|
65 |
-
$('span.pinit-overlay[data-indexer="' + indexer + '"]')
|
66 |
-
.css({
|
67 |
-
height :height + 'px',
|
68 |
-
width :width + 'px',
|
69 |
-
'margin-right' :image.css('margin-right'),
|
70 |
-
'margin-left' :image.css('margin-left'),
|
71 |
-
'margin-top' :image.css('margin-top'),
|
72 |
-
'margin-bottom':image.css('margin-bottom')
|
73 |
-
});
|
74 |
-
|
75 |
-
for (var i in wpclasses)
|
76 |
-
image.hasClass(wpclasses[i]) && $('span.pinit[data-indexer="' + indexer + '"]').addClass(wpclasses[i]);
|
77 |
-
|
78 |
-
if (image.hasClass('aligncenter')) {
|
79 |
-
$('.pinit[data-indexer="' + indexer + '"]')
|
80 |
-
.addClass('aligncenter')
|
81 |
-
.css('clear', 'both');
|
82 |
-
$('span.pinit-overlay[data-indexer="' + indexer + '"]')
|
83 |
.css({
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
90 |
|
91 |
-
|
92 |
-
var index = $(this).attr("data-indexer");
|
93 |
-
var image = $('img[data-indexer="' + index+ '"]');
|
94 |
-
var url = $(this).attr('href') + "&media=" + encodeURI ( image.data('media') ? image.data('media') : image[0].src );
|
95 |
-
window.open(url, 'Pinterest', 'width=632,height=253,status=0,toolbar=0,menubar=0,location=1,scrollbars=1');
|
96 |
-
return false;
|
97 |
-
});
|
98 |
-
|
99 |
-
$('.pinit').mouseenter(function () {
|
100 |
-
$(this).children('.pinit-overlay').fadeIn(200);
|
101 |
-
}).mouseleave(function () {
|
102 |
-
$(this).children('.pinit-overlay').fadeOut(200);
|
103 |
-
});
|
104 |
-
})
|
105 |
-
};
|
106 |
-
}
|
107 |
|
|
1 |
+
(function($){
|
2 |
+
|
3 |
+
$(document).ready( function() {
|
4 |
+
var o = {
|
5 |
+
pageURL : document.URL,
|
6 |
+
pageTitle : document.title,
|
7 |
+
pageDescription: $('meta[name="description"]').attr('content'),
|
8 |
+
image_selector: jpibfi_options.image_selector,
|
9 |
+
disabled_classes: jpibfi_options.disabled_classes,
|
10 |
+
enabled_classes: jpibfi_options.enabled_classes,
|
11 |
+
description_option: jpibfi_options.description_option
|
12 |
+
}
|
13 |
|
14 |
+
var discriminator_classes = o.disabled_classes.split(';');
|
15 |
var allowed_classes = o.enabled_classes.split(';');
|
16 |
|
17 |
+
$('.jpibfi').closest('div').addClass('jpibfi_container');
|
18 |
+
|
19 |
+
$(o.image_selector).each(function (i) {
|
20 |
+
var e = $(this);
|
|
|
|
|
|
|
21 |
|
22 |
+
//check if the image has a discriminator class, if has, then return
|
23 |
+
if ( discriminator_classes[0].length > 0 ) {
|
24 |
+
for (var c in discriminator_classes) {
|
25 |
+
if (e.hasClass(discriminator_classes[c]))
|
26 |
+
return;
|
|
|
27 |
}
|
28 |
}
|
29 |
+
//check allowed classes
|
30 |
+
if ( allowed_classes[0].length > 0 ) {
|
31 |
+
var has_allowed_class = false;
|
32 |
+
for (var z = 0; ( z < allowed_classes.length ) && !has_allowed_class; z++ )
|
33 |
+
has_allowed_class = e.hasClass(allowed_classes[z]);
|
34 |
+
|
35 |
+
if (!has_allowed_class)
|
36 |
+
return;
|
37 |
+
}
|
38 |
+
|
39 |
+
//to identify the image when loaded
|
40 |
+
e.attr('data-indexer', i);
|
41 |
+
});
|
42 |
+
|
43 |
+
function jpibfiAddElements() {
|
44 |
+
|
45 |
+
var wpclasses = ['alignnone', 'alignright', 'alignleft'];
|
46 |
+
|
47 |
+
$("img[data-indexer]").each(function () {
|
48 |
+
var image = $(this),
|
49 |
+
pi_url = o.pageURL;
|
50 |
+
|
51 |
+
//Pin message depending on settings
|
52 |
+
var pi_desc;
|
53 |
+
if (o.description_option == 3)
|
54 |
+
pi_desc = image.attr('title') ? image.attr('title') : image.attr('alt');
|
55 |
+
else if (o.description_option == 2)
|
56 |
+
pi_desc = o.pageDescription;
|
57 |
+
!pi_desc && (pi_desc = o.pageTitle);
|
58 |
|
59 |
+
var indexer = image.attr("data-indexer"),
|
60 |
+
bookmark = 'http://pinterest.com/pin/create/bookmarklet/?url=' + encodeURI(pi_url) + '&is_video=' + encodeURI('false') + '&description=' + encodeURI(pi_desc);
|
61 |
+
|
62 |
+
image.wrap('<div class="pinit" data-indexer="' + indexer + '"/>');
|
63 |
+
image.after('<span class="pinit-overlay" data-indexer= "' + indexer + '"><a class="pinit-button" href="' + bookmark + '" data-indexer= "' + indexer + '">Pin It</a></span>');
|
64 |
+
|
65 |
+
var overlay = $('.pinit-overlay[data-indexer="' + indexer + '"]')
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
66 |
.css({
|
67 |
+
height :this.clientHeight + 'px',
|
68 |
+
width :this.clientWidth + 'px',
|
69 |
+
'margin-right' :image.css('margin-right'),
|
70 |
+
'margin-left' :image.css('margin-left'),
|
71 |
+
'margin-top' :image.css('margin-top'),
|
72 |
+
'margin-bottom':image.css('margin-bottom')
|
73 |
+
});
|
74 |
+
|
75 |
+
for (var i in wpclasses) {
|
76 |
+
image.hasClass(wpclasses[i]) && $('.pinit[data-indexer="' + indexer + '"]').addClass(wpclasses[i]);
|
77 |
+
image.hasClass(wpclasses[i]) && overlay.addClass(wpclasses[i]);
|
78 |
+
}
|
79 |
+
|
80 |
+
if (image.hasClass('aligncenter')) {
|
81 |
+
$('.pinit[data-indexer="' + indexer + '"]')
|
82 |
+
.addClass('aligncenter')
|
83 |
+
.css('clear', 'both');
|
84 |
+
|
85 |
+
overlay.css({
|
86 |
+
'margin-left' :"auto",
|
87 |
+
'margin-right':"auto",
|
88 |
+
left :0,
|
89 |
+
right :0
|
90 |
+
})
|
91 |
+
}
|
92 |
+
|
93 |
+
$('.pinit .pinit-button').click( function () {
|
94 |
+
var index = $(this).attr("data-indexer");
|
95 |
+
var image = $('img[data-indexer="' + index+ '"]');
|
96 |
+
var url = $(this).attr('href') + "&media=" + encodeURI ( image.data('media') ? image.data('media') : image[0].src );
|
97 |
+
window.open(url, 'Pinterest', 'width=632,height=253,status=0,toolbar=0,menubar=0,location=1,scrollbars=1');
|
98 |
+
return false;
|
99 |
+
});
|
100 |
+
|
101 |
+
$('.pinit').mouseenter(function () {
|
102 |
+
$(this).children('.pinit-overlay').fadeIn(200);
|
103 |
+
}).mouseleave(function () {
|
104 |
+
$(this).children('.pinit-overlay').fadeOut(200);
|
105 |
+
});
|
106 |
+
})
|
107 |
+
};
|
108 |
+
|
109 |
+
function jpibfiRemoveElements() {
|
110 |
+
$("span.pinit-overlay").remove();
|
111 |
+
$("img[data-indexer]").unwrap();
|
112 |
+
}
|
113 |
+
|
114 |
+
window.onload = jpibfiAddElements;
|
115 |
+
|
116 |
+
window.onresize = function() {
|
117 |
+
jpibfiRemoveElements();
|
118 |
+
jpibfiAddElements();
|
119 |
+
}
|
120 |
|
121 |
+
})
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
|
123 |
+
})(jQuery);
|
js/script.min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
function
|
1 |
+
(function(e){e(document).ready(function(){function i(){var n=["alignnone","alignright","alignleft"];e("img[data-indexer]").each(function(){var r=e(this),i=t.pageURL;var s;if(t.description_option==3)s=r.attr("title")?r.attr("title"):r.attr("alt");else if(t.description_option==2)s=t.pageDescription;!s&&(s=t.pageTitle);var u=r.attr("data-indexer"),a="http://pinterest.com/pin/create/bookmarklet/?url="+encodeURI(i)+"&is_video="+encodeURI("false")+"&description="+encodeURI(s);r.wrap('<div class="pinit" data-indexer="'+u+'"/>');r.after('<span class="pinit-overlay" data-indexer= "'+u+'"><a class="pinit-button" href="'+a+'" data-indexer= "'+u+'">Pin It</a></span>');var f=e('.pinit-overlay[data-indexer="'+u+'"]').css({height:this.clientHeight+"px",width:this.clientWidth+"px","margin-right":r.css("margin-right"),"margin-left":r.css("margin-left"),"margin-top":r.css("margin-top"),"margin-bottom":r.css("margin-bottom")});for(var l in n){r.hasClass(n[l])&&e('.pinit[data-indexer="'+u+'"]').addClass(n[l]);r.hasClass(n[l])&&f.addClass(n[l])}if(r.hasClass("aligncenter")){e('.pinit[data-indexer="'+u+'"]').addClass("aligncenter").css("clear","both");f.css({"margin-left":"auto","margin-right":"auto",left:0,right:0})}e(".pinit .pinit-button").click(function(){var t=e(this).attr("data-indexer");var n=e('img[data-indexer="'+t+'"]');var r=e(this).attr("href")+"&media="+encodeURI(n.data("media")?n.data("media"):n[0].src);window.open(r,"Pinterest","width=632,height=253,status=0,toolbar=0,menubar=0,location=1,scrollbars=1");return false});e(".pinit").mouseenter(function(){e(this).children(".pinit-overlay").fadeIn(200)}).mouseleave(function(){e(this).children(".pinit-overlay").fadeOut(200)})})}function s(){e("span.pinit-overlay").remove();e("img[data-indexer]").unwrap()}var t={pageURL:document.URL,pageTitle:document.title,pageDescription:e('meta[name="description"]').attr("content"),image_selector:jpibfi_options.image_selector,disabled_classes:jpibfi_options.disabled_classes,enabled_classes:jpibfi_options.enabled_classes,description_option:jpibfi_options.description_option};var n=t.disabled_classes.split(";");var r=t.enabled_classes.split(";");e(".jpibfi").closest("div").addClass("jpibfi_container");e(t.image_selector).each(function(t){var i=e(this);if(n[0].length>0){for(var s in n){if(i.hasClass(n[s]))return}}if(r[0].length>0){var o=false;for(var u=0;u<r.length&&!o;u++)o=i.hasClass(r[u]);if(!o)return}i.attr("data-indexer",t)});window.onload=i;window.onresize=function(){s();i()}})})(jQuery)
|
js/upload-button-new.js
ADDED
@@ -0,0 +1,38 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function($) {
|
2 |
+
|
3 |
+
//Uploading media using new media uploader (Wordpress 3.5+)
|
4 |
+
|
5 |
+
var file_frame;
|
6 |
+
|
7 |
+
$('#upload-image').click(function(e) {
|
8 |
+
e.preventDefault();
|
9 |
+
|
10 |
+
// If the media frame already exists, reopen it.
|
11 |
+
if ( file_frame ) {
|
12 |
+
file_frame.open();
|
13 |
+
return;
|
14 |
+
}
|
15 |
+
|
16 |
+
// Create the media frame.
|
17 |
+
file_frame = wp.media.frames.file_frame = wp.media({
|
18 |
+
title: 'Select your custom "Pin It" button',
|
19 |
+
button: {
|
20 |
+
text: 'Use as "Pin It" button'
|
21 |
+
},
|
22 |
+
multiple: false // Set to true to allow multiple files to be selected
|
23 |
+
});
|
24 |
+
|
25 |
+
// When an image is selected, run a callback.
|
26 |
+
file_frame.on( 'select', function() {
|
27 |
+
// We set multiple to false so only get one image from the uploader
|
28 |
+
var image = file_frame.state().get('selection').first().toJSON();
|
29 |
+
|
30 |
+
$("#custom_image_url").val(image.url);
|
31 |
+
$("#custom_image_width").val(image.width);
|
32 |
+
$("#custom_image_height").val(image.height);
|
33 |
+
});
|
34 |
+
|
35 |
+
file_frame.open();
|
36 |
+
});
|
37 |
+
|
38 |
+
});
|
js/upload-button-old.js
ADDED
@@ -0,0 +1,25 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
jQuery(document).ready(function($) {
|
2 |
+
|
3 |
+
//Uploading media using old media uploader
|
4 |
+
|
5 |
+
$('#upload-image').click(function() {
|
6 |
+
|
7 |
+
tb_show('Choose an image and click "Insert into post"', 'media-upload.php?referer=jpibfi&type=image&TB_iframe=true&post_id=0', false);
|
8 |
+
|
9 |
+
// Re-define the global function 'send_to_editor'
|
10 |
+
// Define where the new value will be sent to
|
11 |
+
window.send_to_editor = function(html) {
|
12 |
+
|
13 |
+
// Get the URL of new image
|
14 |
+
var domElement = new DOMParser().parseFromString("<p>" + html + "</p>", "text/xml");
|
15 |
+
var image = $('img', domElement);
|
16 |
+
$("#custom_image_url").val(image.attr('src'));
|
17 |
+
$("#custom_image_width").val(image.attr('width'));
|
18 |
+
$("#custom_image_height").val(image.attr('height'));
|
19 |
+
|
20 |
+
tb_remove(); // Then close the popup window
|
21 |
+
}
|
22 |
+
return false;
|
23 |
+
});
|
24 |
+
|
25 |
+
});
|
readme.txt
CHANGED
@@ -4,7 +4,7 @@ Donate link: http://bit.ly/Uw2mEP
|
|
4 |
Tags: pinterest, pin it, button, image, images, pinit, social media, hover, click, photo, photos
|
5 |
Requires at least: 3.3.0
|
6 |
Tested up to: 3.5.1
|
7 |
-
Stable tag: 0.9.
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
Highlights images on hover and adds a Pinterest "Pin It" button over them for easy pinning.
|
@@ -53,7 +53,7 @@ On the plugin settings page, there is a "Enabled classes" setting. Please enter
|
|
53 |
Use the "Disabled classes" setting on the settings page - add there specific classes or use the "nopin" class.
|
54 |
|
55 |
= Can I use my own "Pin it" button design? =
|
56 |
-
Yes. On the settings page, there's a section named "
|
57 |
|
58 |
To upload you own image, you can use **Media Library** on your Wordpress installation or an image hosting service like **Photobucket**. Make sure you provide the proper address, width and height of the image. Otherwise, the button won't be displayed properly, or won't be displayed at all.
|
59 |
|
@@ -69,6 +69,13 @@ Please report them in the plugin's support forum on Wordpress.org.
|
|
69 |
|
70 |
== Changelog ==
|
71 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
= 0.9.2 =
|
73 |
* Released 2013-02-12
|
74 |
* It now works with jQuery versions older than 1.7
|
@@ -108,6 +115,12 @@ Please report them in the plugin's support forum on Wordpress.org.
|
|
108 |
|
109 |
== Upgrade Notice ==
|
110 |
|
|
|
|
|
|
|
|
|
|
|
|
|
111 |
= 0.9.2 =
|
112 |
Small update - plugin now works with jQuery versions older than 1.7.
|
113 |
|
4 |
Tags: pinterest, pin it, button, image, images, pinit, social media, hover, click, photo, photos
|
5 |
Requires at least: 3.3.0
|
6 |
Tested up to: 3.5.1
|
7 |
+
Stable tag: 0.9.5
|
8 |
License: GPLv2 or later
|
9 |
|
10 |
Highlights images on hover and adds a Pinterest "Pin It" button over them for easy pinning.
|
53 |
Use the "Disabled classes" setting on the settings page - add there specific classes or use the "nopin" class.
|
54 |
|
55 |
= Can I use my own "Pin it" button design? =
|
56 |
+
Yes. On the settings page, there's a section named "Custom Pit It button". You need to check the Use custom image checkbox and provide a URL address of the image, image's width and height.
|
57 |
|
58 |
To upload you own image, you can use **Media Library** on your Wordpress installation or an image hosting service like **Photobucket**. Make sure you provide the proper address, width and height of the image. Otherwise, the button won't be displayed properly, or won't be displayed at all.
|
59 |
|
69 |
|
70 |
== Changelog ==
|
71 |
|
72 |
+
= 0.9.5 =
|
73 |
+
* Released 2013-03-04
|
74 |
+
* Fixed some issues with image sizing and responsive themes
|
75 |
+
* Code refactoring
|
76 |
+
* Added preview in the settings panel
|
77 |
+
* New feature: adding images using media library
|
78 |
+
|
79 |
= 0.9.2 =
|
80 |
* Released 2013-02-12
|
81 |
* It now works with jQuery versions older than 1.7
|
115 |
|
116 |
== Upgrade Notice ==
|
117 |
|
118 |
+
= 0.9.5 =
|
119 |
+
Few minor bug fixes and tweaks
|
120 |
+
|
121 |
+
= 0.9.3 =
|
122 |
+
Fixed bugs with image sizing and responsive themes
|
123 |
+
|
124 |
= 0.9.2 =
|
125 |
Small update - plugin now works with jQuery versions older than 1.7.
|
126 |
|
screenshot-3.jpg
CHANGED
Binary file
|