PluginProbe
Social Share Buttons / 1.30
Social Share Buttons v1.30
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-collection.php +53 -12 1.91.30 View file →
@@ -1,11 +1,11 @@
1 1 <?php
2 2 namespace MBSocial;
3 3 defined('ABSPATH') or die('No direct access permitted');
4 4
5 -use \maxbuttons\maxUtils as maxUtils;
6 -use \maxbuttons\maxCSSParser as maxCSSParser;
7 -use \simple_html_dom as simple_html_dom;
5 +use \MaxButtons\maxUtils as maxUtils;
6 +use \MaxButtons\maxCSSParser as maxCSSParser;
7 +use \MaxButtons\simple_html_dom as simple_html_dom;
8 8
9 9
10 10 class collection
11 11 {
@@ -296,8 +296,9 @@
296 296 elseif (isset($meta['general']['active']) && $is_old_active === 0) // backward for 0.9.5 . Can go at some point
297 297 $this->is_showable = false;
298 298 }
299 299
300 +
300 301 if ( Install::isPRO() ) {
301 302 $show_mobile = (isset($data['display']['show_mobile']) && $data['display']['show_mobile'] == 0) ? false: true;
302 303 $show_desktop = (isset($data['display']['show_desktop']) && $data['display']['show_desktop'] == 0) ? false: true;
303 304
@@ -309,8 +310,9 @@
309 310 {
310 311 $this->is_showable = false;
311 312 }
312 313 }
314 +
313 315 // new method of getting data around
314 316 $w->tell('display/env/hook', $hook);
315 317 $w->tell('display/env/post_id', $this->post_id);
316 318 $w->tell('display/env/is_static', $this->is_static );
@@ -349,8 +351,24 @@
349 351 $result["title"] = __("Error : Block was not there","maxbuttons");
350 352 return $result;
351 353 }
352 354
355 + public function endAjaxRequest($args = array())
356 + {
357 + $defaults = array(
358 + "error" => true, // can have errors and still result true on success
359 + "result" => true,
360 + "body" => "",
361 + "title" => "",
362 + "data" => array(),
363 + );
364 +
365 + $args = wp_parse_args($args, $defaults);
366 +
367 + echo json_encode($args);
368 + die();
369 + }
370 +
353 371 /** Save the collection post data to the database. This will invoke the save functions of the blocks itself to gather, verify and manipulate data */
354 372 public function save($post)
355 373 {
356 374 $data = array();
@@ -622,9 +640,8 @@
622 640 {
623 641 if (! $this->is_showable)
624 642 return;
625 643
626 -
627 644 /* 1.8 Deprecated. Not included in MB() anymore, using svg method.
628 645 if (method_exists(MB(), 'load_library'))
629 646 {
630 647 MB()->load_library('fontawesome'); // always load lib since change is about 100% this includes FA.
@@ -690,8 +707,23 @@
690 707 }
691 708
692 709 }
693 710
711 + public function getDisplayCSS($doc_id = false) // For file output
712 + {
713 + $key = '_parsed_css';
714 +
715 + if ($doc_id)
716 + $key .= '_' . $doc_id;
717 +
718 + $meta = $this->get_meta($key);
719 + if (is_array($meta))
720 + return array_shift($meta);
721 + else
722 + return false;
723 +
724 + }
725 +
694 726 public function displayCSS($css, $args = array() ) // $echo = true, $style_tag = true)
695 727 {
696 728
697 729 $default = array(
@@ -703,13 +735,14 @@
703 735 if ($args['load_type'] == 'inline')
704 736 $args['style_tag'] =true;
705 737
706 738 $output = '';
739 + $css = apply_filters('mbsocial/displaycss/', $css);
707 740
708 741 if ($args["style_tag"])
709 742 $output .= "<style type='text/css'>";
710 743
711 - $output .= apply_filters('mbsocial/displaycss/', $css);
744 + $output .= $css;
712 745
713 746 if ($args["style_tag"])
714 747 $output .= "</style>";
715 748
@@ -717,13 +750,22 @@
717 750 if ($args["load_type"] == 'footer')
718 751 {
719 752 $load_id = 'collection-' . $this->collection_id; // must be unique for unique items, otherwise css won't be output
720 753
754 + $use_file = get_option('maxbuttons_usecssfile', false);
755 + if ($use_file)
756 + {
757 +
758 + wp_enqueue_style('maxbuttons-social-front-' . self::$count, admin_url('admin-ajax.php').'?action=maxbuttons_social_css&id=' . $this->collection_id . '&doc=' . self::$count) ;
759 + $this->update_meta($this->collection_id, '_parsed_css_' . self::$count, $css);
760 + }
761 +
721 762 if (self::$count > 1)
722 763 {
723 764 $load_id .= "-" . self::$count;
724 765 }
725 766
767 +
726 768 do_action('mb-footer',$load_id, $output);
727 769 }
728 770 elseif ($args["load_type"] == 'inline')
729 771 {
@@ -733,9 +775,9 @@
733 775 }
734 776
735 777 }
736 778
737 - public function displayJS($js, $args = array() ) // $echo = true, $style_tag = true)
779 + public function displayJS($js, $args = array() )
738 780 {
739 781 $default = array(
740 782 "echo" => true,
741 783 "js_tag" => true,
@@ -766,11 +808,9 @@
766 808 }
767 809
768 810 if ($args["js_tag"])
769 811 {
770 - $output .= " // }
771 - // }
772 - // window.onload = MBcollection" . $this->collection_id . "();
812 + $output .= "
773 813 </script> ";
774 814 }
775 815
776 816
@@ -803,9 +843,9 @@
803 843 $collectionObj = new simple_html_dom();
804 844 $collection_id = $this->collection_id;
805 845
806 846 $styleObj = $this->styleObj;
807 - $style_class = ''; //$styleObj->class;
847 + $style_class = '';
808 848 $style_class = $this->orientation;
809 849
810 850 // create container
811 851 if (self::$count > 1)
@@ -811,9 +851,9 @@
811 851 if (self::$count > 1)
812 852 {
813 853 $style_class .= ' doc-' . self::$count;
814 854 }
815 - $node = "<div class='maxsocial maxsocial-" . $collection_id . " $style_class ' data-collection='" . $collection_id . "'>
855 + $node = "<div class='maxsocial maxsocial-" . esc_attr($collection_id) . " $style_class ' data-collection='" . $collection_id . "' data-nonce='" . wp_create_nonce('maxsocial_ajax_action-' . $collection_id) . "''>
816 856 </div>";
817 857 $node = apply_filters("maxbuttons/social/basic-container",$node);
818 858
819 859 $collectionObj->load($node);
@@ -851,9 +891,9 @@
851 891 }
852 892 $w->tell('display/parse/network', $network);
853 893
854 894 $button_args = array('link' => $network->get_url(),
855 - 'preview' => $is_preview,
895 + 'preview' => $is_preview,
856 896 'index' => $index,
857 897 'name' => $network->get('network'),
858 898 'data' => $this->data,
859 899 'collection_count' => self::$count,
@@ -958,8 +998,9 @@
958 998 $css = $this->styleObj->preParse($css);
959 999 $css = apply_filters('mbsocial/parsecss/', $css); // anybody else
960 1000
961 1001 $css = $this->getCSSParser()->parse($css);
1002 +
962 1003 maxUtils::endTime('collection-parseCSS-'. self::$count);
963 1004 return $css;
964 1005 }
965 1006