PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.10
Advanced Ads – Ad Manager & AdSense v1.10
2.0.26 2.0.25 2.0.24 2.0.23 2.0.22 2.0.21 1.38.0 1.39.0 1.39.1 1.39.2 1.39.3 1.39.4 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.40.0 1.40.1 1.40.2 1.41.0 1.42.0 1.42.1 1.42.2 1.43.0 1.44.0 1.44.1 1.45.0 1.45.1 1.46.0 1.47.0 1.47.1 1.47.2 1.47.3 1.47.4 1.47.5 1.48.0 1.48.1 1.49.0 1.5.0 1.5.0.1 1.5.1 1.5.2 1.5.2.1 1.5.4 1.5.4.1 1.5.5 1.50.0 1.51.0 1.51.1 1.51.2 1.51.3 1.52.0 1.52.1 1.52.2 1.52.3 1.52.4 1.53.0 1.53.1 1.53.2 1.54.0 1.54.1 1.55.0 1.56.0 1.56.1 1.56.2 1.56.3 1.56.4 1.6 1.6.1 1.6.10 1.6.10.1 1.6.10.2 1.6.11 1.6.11.1 1.6.12 1.6.13 1.6.14 1.6.15 1.6.16 1.6.17 1.6.17.1 1.6.17.2 1.6.2 1.6.2.1 1.6.3 1.6.4 1.6.4.1 1.6.5 1.6.6 1.6.6.1 1.6.7 1.6.7.1 1.6.8 1.6.8.1 1.6.8.2 1.6.8.3 1.6.9 1.6.9.1 1.6.9.2 1.6.9.3 1.6.9.4 1.7 1.7.0.1 1.7.0.2 1.7.0.3 1.7.1 1.7.1.1 1.7.1.2 1.7.1.3 1.7.1.4 1.7.1.5 1.7.10 trunk 1.7.11 1.0.1 1.7.12 1.0.2 1.7.13 1.0.3 1.7.14 1.1.0 1.7.15 1.1.1 1.7.16 1.1.2 1.7.17 1.1.3 1.7.18 1.10 1.7.19 1.10.1 1.7.2 1.10.10 1.7.2.1 1.10.11 1.7.20 1.10.12 1.7.21 1.10.2 1.7.22 1.10.3 1.7.23 1.10.4 1.7.24 1.10.5 1.7.25 1.10.6 1.7.3 1.10.7 1.7.4 1.10.8 1.7.4.1 1.10.9 1.7.4.2 1.11 1.7.4.3 1.11.1 1.7.4.4 1.11.2 1.7.4.5 1.12 1.7.5 1.13 1.7.5.1 1.13.1 1.7.6 1.13.2 1.7.7 1.13.3 1.7.8 1.13.4 1.7.9 1.13.5 1.7.9.1 1.13.6 1.7.9.2 1.13.7 1.7.9.3 1.13.8 1.8 1.14 1.8.1 1.14.1 1.8.10 1.14.10 1.8.11 1.14.11 1.8.12 1.14.2 1.8.13 1.14.3 1.8.14 1.14.4 1.8.15 1.14.5 1.8.16 1.14.6 1.8.17 1.14.7 1.8.18 1.14.8 1.8.19 1.14.9 1.8.2 1.15 1.8.20 1.16 1.8.21 1.16.1 1.8.22 1.17 1.8.23 1.17.1 1.8.24 1.17.10 1.8.25 1.17.10-rc.1 1.8.26 1.17.11 1.8.27 1.17.12 1.8.28 1.17.12-rc.1 1.8.29 1.17.2 1.8.3 1.17.3 1.8.30 1.17.4 1.8.4 1.17.5 1.8.5 1.17.6 1.8.6 1.17.7 1.8.7 1.17.8 1.8.8 1.17.9 1.8.9 1.17.9-beta.1 1.9 1.18.0 2.0.0 1.19.0 2.0.1 1.19.1 2.0.10 1.2 2.0.11 1.2.1 2.0.12 1.2.2 2.0.13 1.2.3 2.0.14 1.2.4 2.0.15 1.2.5 2.0.16 1.2.6 2.0.17 1.2.7 2.0.18 1.20.0 2.0.19 1.20.0-rc.1 2.0.2 1.20.0-rc.2 2.0.20 1.20.1 2.0.3 1.20.2 2.0.4 1.20.3 2.0.5 1.21.0 2.0.6 1.21.1 2.0.7 1.22.0 2.0.8 1.22.1 2.0.9 1.22.2 1.23.0 1.23.1 1.23.2 1.24.0 1.24.1 1.24.2 1.25.0 1.25.1 1.26.0 1.27.0 1.28.0 1.29.0 1.29.1 1.3 1.3.1 1.3.10 1.3.11 1.3.12 1.3.13 1.3.14 1.3.15 1.3.16 1.3.17 1.3.18 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.30.0 1.30.1 1.30.2 1.30.2-rc.1 1.30.3 1.30.4 1.30.4-rc.1 1.30.5 1.31.0 1.31.1 1.32.0 1.32.0-rc.1 1.33.0 1.33.1 1.33.2 1.34.0 1.35.0 1.35.1 1.36.0 1.36.1 1.36.2 1.36.3 1.37.0 1.37.1 1.37.2
advanced-ads / modules / gutenberg / includes / class-gutenberg.php
advanced-ads / modules / gutenberg / includes Last commit date
class-gutenberg.php 8 years ago
class-gutenberg.php
162 lines
1 <?php
2
3 class Advanced_Ads_Gutenberg {
4
5 private static $instance;
6
7 private static $css_class;
8
9 private function __construct() {
10 add_action( 'init', array( $this, 'init' ) );
11 add_action( 'admin_enqueue_scripts', array( $this, 'register_scripts' ) );
12 }
13
14 /**
15 * Register blocks
16 */
17 public function init() {
18 if ( !function_exists( 'register_block_type' ) ) {
19 // no Gutenberg, Abort
20 return;
21 }
22
23 register_block_type( 'advads/gblock', array(
24 'editor_script' => ADVADS_BASE . '/gutenberg-ad',
25 'render_callback' => array( $this, 'render_ad_selector' ),
26 ) );
27 }
28
29 /**
30 * register back end scripts
31 */
32 public function register_scripts() {
33 if ( !function_exists( 'register_block_type' ) ) {
34 // no Gutenberg, Abort
35 return;
36 }
37
38 wp_register_script(
39 ADVADS_BASE . '/gutenberg-ad',
40 ADVADS_BASE_URL . 'modules/gutenberg/js/advanced-ads.block.js',
41 array( 'wp-blocks', 'wp-element' )
42 );
43
44 $model = Advanced_Ads::get_instance()->get_model();
45
46 $all_ads = Advanced_Ads::get_ads( array( 'post_status' => array( 'publish' ), 'orderby' => 'title', 'order' => 'ASC' ) );
47 $all_groups = $model->get_ad_groups();
48 $all_placements = Advanced_Ads::get_ad_placements_array();
49
50 $ads = array();
51 $groups = array();
52 $placements = array();
53
54 foreach ( $all_ads as $ad ) {
55 $ads[] = array( 'id' => $ad->ID, 'title' => $ad->post_title );
56 }
57
58 foreach ( $all_groups as $gr ) {
59 $groups[] = array( 'id' => $gr->term_id, 'name' => $gr->name );
60 }
61
62 if ( is_array( $all_placements ) ) {
63 ksort( $all_placements );
64 }
65
66 foreach( $all_placements as $key => $value ) {
67 if ( 'sidebar_widget' == $value['type'] ) {
68 $placements[] = array( 'id' => $key, 'name' => $value['name'] );
69 }
70 }
71
72 if ( empty( $placements ) ) {
73 $placements = false;
74 }
75
76 $i18n = array(
77 '--empty--' => __( '--empty--', 'advanced-ads' ),
78 'advads' => __( 'Advanced Ads', 'advanced-ads' ),
79 'ads' => __( 'Ads', 'advanced-ads' ),
80 'adGroups' => __( 'Ad Groups', 'advanced-ads' ),
81 'placements' => __( 'Placements', 'advanced-ads' ),
82 );
83
84 $inline_script = wp_json_encode(
85 array(
86 'ads' => $ads,
87 'groups' => $groups,
88 'placements' => $placements,
89 'editLinks' => array(
90 'group' => admin_url( 'admin.php?page=advanced-ads-groups' ),
91 'placement' => admin_url( 'admin.php?page=advanced-ads-placements' ),
92 'ad' => admin_url( 'post.php?post=%ID%&action=edit' ),
93 ),
94 'i18n' => $i18n
95 )
96 );
97
98 // put the inline code with the global variable right before the block's JS file
99 wp_add_inline_script( ADVADS_BASE . '/gutenberg-ad', 'var advadsGutenberg = ' . $inline_script, 'before' );
100
101 }
102
103 /**
104 * Server side rendering for single ad block
105 */
106 public static function render_ad_selector( $attr ) {
107 ob_start();
108
109 if ( !isset( $attr['itemID'] ) ) {
110 ob_end_clean();
111 return '';
112 }
113
114 // the item is an ad
115 if ( 0 === strpos( $attr['itemID'], 'ad_' ) ) {
116
117 $id = substr( $attr['itemID'], 3 );
118
119 // add CSS classes to the wrapper via filter
120 if ( isset( $attr['className'] ) ) {
121 echo get_ad( absint( $id ), array( 'output' => array( 'class' => explode( ' ', $attr['className'] ) ) ) );
122 } else {
123 the_ad( absint( $id ) );
124 }
125
126 } elseif ( 0 === strpos( $attr['itemID'], 'group_' ) ) {
127
128 $id = substr( $attr['itemID'], 6 );
129
130 if ( isset( $attr['className'] ) ) {
131 echo get_ad_group( $id, array( 'output' => array( 'class' => explode( ' ', $attr['className'] ) ) ) );
132 } else {
133 the_ad_group( $id );
134 }
135
136 } elseif ( 0 === strpos( $attr['itemID'], 'place_' ) ) {
137
138 $id = substr( $attr['itemID'], 6 );
139
140 if ( isset( $attr['className'] ) ) {
141 echo get_ad_placement( $id, array( 'output' => array( 'class' => explode( ' ', $attr['className'] ) ) ) );
142 } else {
143 the_ad_placement( $id );
144 }
145
146 }
147
148 return ob_get_clean();
149 }
150
151 /**
152 * Return the unique instance
153 */
154 public static function get_instance() {
155 if ( null == self::$instance ) {
156 self::$instance = new self;
157 }
158 return self::$instance;
159 }
160
161 }
162