PluginProbe
Social Share Buttons / 1.19
Social Share Buttons v1.19
trunk 0.9 1.0 1.1 1.1.1 1.1.2 1.10 1.11 1.12 1.15 1.16 1.17 1.18 1.19 1.2 1.20 1.3 1.30 1.4 1.5 1.6 1.7 1.8 1.9
← All changes | classes/class-admin.php +59 -11 1.21.19 View file →
@@ -108,8 +108,10 @@
108 108 // set active networks. Support doubles.
109 109 foreach($active_networks as $index => $network_name)
110 110 {
111 111 $network = mbSocial()->networks()->get($network_name);
112 + if (! is_object($network)) // could be removed network.
113 + continue;
112 114 if ($network->get('is_active'))
113 115 $selected[$index] = $network;
114 116 }
115 117
@@ -124,23 +126,16 @@
124 126 {
125 127 $priority = 'selected';
126 128 }
127 129
128 -
129 - /* if ($priority == 'selected')
130 - {
131 - continue; // ignore active, since it's set earlier.
132 - //$selected[$is_active] = $network;
133 -
134 - } */
135 130 if ($priority == 'unselected')
136 131 $unselected[] = $network;
137 132 if ($priority == 'readmore')
138 133 $readmore[] = $network;
139 134
140 -
141 135 if ($network->get('network') == 'maxbutton' && $priority != 'readmore') // exceptions
142 136 {
137 +
143 138 $readmore[] = $network;
144 139 }
145 140
146 141
@@ -145,9 +140,8 @@
145 140
146 141
147 142 } // foreach networks
148 143
149 -
150 144 // Sort networks by order saved.
151 145 ksort($selected);
152 146 return array('selected' => $selected, 'unselected' => $unselected, 'readmore' => $readmore);
153 147 }
@@ -197,12 +191,35 @@
197 191 case 'nucleo':
198 192 $output = "<span class='mb-icon'><i class='$icon_type $icon' title='$title' > </i></span>";
199 193 break;
200 194 case 'svg':
201 - case 'png':
195 + case 'png': // via network settings, or whatever.
202 196 $output = "<span class='mb-icon " . $icon_type . "'><img src='" . $icon . "' alt='" . $title . "'></span>";
203 197 break;
198 + case 'image': // via media uploader
199 + case 'image-remote':
200 + if ($icon_type == 'image-remote') // when loading a custom network, before import
201 + {
202 + $url = $args['image_url'];
203 + $output = '<img src="' . $url . '" border="0" />';
204 + }
205 + else {
206 + $image_id = isset($args['image_id']) ? $args['image_id'] : false;
207 + $image_size = isset($args['image_size']) ? $args['image_size'] : false;
204 208
209 + $img_data = wp_get_attachment_image_src($image_id, $image_size);
210 + $output = '';
211 +
212 + if ($img_data)
213 + {
214 + $width = $img_data[1];
215 + $height = $img_data[2];
216 + $url = $img_data[0];
217 + $output = '<span class="mb-icon ' . $icon_type . '"><img src="' . $url . '" width="' . $width . '" height="' . $height . '" border="0" /></span>';
218 + }
219 +
220 + }
221 + break;
205 222 default:
206 223 $output = '';
207 224 break;
208 225 }
@@ -209,8 +226,38 @@
209 226
210 227 return apply_filters('display/render/icon', $output, $args);
211 228 }
212 229
230 + public function applyVars($string)
231 + {
232 + //$vars = $this->getShareData();
233 + $w = MBSocial()->whistle();
234 +
235 + preg_match_all('/\{(.*?)\}/im', $string, $matches);
236 + //$vars = (isset($vars[0]) && count($vars[0]) > 0) ? $vars[0] : array();
237 +
238 + if (count($matches) == 0)
239 + return $string;
240 +
241 + $vars = $matches[0]; // i.e. {url}
242 + $clean_vars = $matches[1]; // i.e. url
243 +
244 + for($i = 0; $i < count($vars); $i++)
245 + {
246 + $var = $vars[$i];
247 + $clean_var = $clean_vars[$i];
248 +
249 + if (strpos($string, $var) !== false)
250 + {
251 + $val = $w->ask('display/vars/' . $clean_var);
252 + $string = str_replace($var, $val, $string);
253 + }
254 +
255 + }
256 +
257 + return $string;
258 + }
259 +
213 260 public function header( $args = array() )
214 261 {
215 262 $defaults = array(
216 263 'title' => '',
@@ -270,9 +317,10 @@
270 317 if ($display_review)
271 318 {
272 319 add_action( 'admin_notices', array( $this, 'mbsocial_review_notice'));
273 320 // registered in admin scripts
274 - MB()->load_library('review_notice');
321 + if (method_exists(MB(), 'load_library'))
322 + MB()->load_library('review_notice');
275 323 }
276 324
277 325 }
278 326