PluginProbe ʕ •ᴥ•ʔ
Advanced Ads – Ad Manager & AdSense / 1.33.2
Advanced Ads – Ad Manager & AdSense v1.33.2
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 / classes / ad-model.php
advanced-ads / classes Last commit date
EDD_SL_Plugin_Updater.php 4 years ago ad-ajax.php 5 years ago ad-debug.php 6 years ago ad-expiration.php 4 years ago ad-health-notices.php 4 years ago ad-model.php 5 years ago ad-select.php 10 years ago ad.php 4 years ago ad_ajax_callbacks.php 5 years ago ad_group.php 4 years ago ad_placements.php 4 years ago ad_type_abstract.php 5 years ago ad_type_content.php 5 years ago ad_type_dummy.php 5 years ago ad_type_group.php 5 years ago ad_type_image.php 5 years ago ad_type_plain.php 4 years ago checks.php 4 years ago compatibility.php 4 years ago display-conditions.php 4 years ago filesystem.php 8 years ago frontend-notices.php 6 years ago frontend_checks.php 4 years ago in-content-injector.php 4 years ago inline-css.php 5 years ago plugin.php 4 years ago upgrades.php 6 years ago utils.php 4 years ago visitor-conditions.php 4 years ago widget.php 4 years ago
ad-model.php
156 lines
1 <?php
2
3 /**
4 * Advanced Ads Model
5 */
6 class Advanced_Ads_Model {
7
8 /**
9 * Cache group for WP Object Cache
10 *
11 * @var string
12 */
13 const OBJECT_CACHE_GROUP = 'advanced-ads';
14
15 /**
16 * Default time-to-live for WP Object Cache
17 *
18 * @var string
19 */
20 const OBJECT_CACHE_TTL = 720; // 12 Minutes
21
22 /**
23 * WordPress database object.
24 *
25 * @var wpdb
26 */
27 protected $db;
28
29 /**
30 * General ad conditions.
31 *
32 * @var array
33 */
34 protected $ad_conditions;
35
36 /**
37 * Placements
38 *
39 * @var array
40 */
41 protected $ad_placements;
42
43 /**
44 * Advanced_Ads_Model constructor.
45 *
46 * @param wpdb $wpdb WordPress database access.
47 */
48 public function __construct( wpdb $wpdb ) {
49 $this->db = $wpdb;
50 }
51
52 /**
53 * Load ad conditions.
54 *
55 * @return array
56 */
57 public function get_ad_conditions() {
58 if ( ! isset( self::$ad_conditions ) ) {
59 $this->ad_conditions = include ADVADS_BASE_PATH . 'includes/array_ad_conditions.php';
60 }
61
62 return $this->ad_conditions;
63 }
64
65 /**
66 * Get all blog ids of blogs in the current network that are:
67 * - not archived
68 * - not spam
69 * - not deleted
70 *
71 * @since 1.0.0
72 * @return array|false The blog ids, false if no matches.
73 */
74 public function get_blog_ids() {
75 // get an array of blog ids.
76 $sql = "SELECT blog_id FROM $this->db->blogs WHERE archived = '0' AND spam = '0' AND deleted = '0'";
77
78 return $this->db->get_col( $sql );
79 }
80
81 /**
82 * Load all ads based on WP_Query conditions
83 *
84 * @since 1.1.0
85 * @param array $args WP_Query arguments that are more specific that default.
86 * @return array $ads array with post objects.
87 */
88 public function get_ads( $args = array() ) {
89 // add default WP_Query arguments.
90 $args['post_type'] = Advanced_Ads::POST_TYPE_SLUG;
91 $args['posts_per_page'] = -1;
92 if ( empty( $args['post_status'] ) ) {
93 $args['post_status'] = array( 'publish', 'future' ); }
94 $ads = new WP_Query( $args );
95
96 return $ads->posts;
97 }
98
99 /**
100 * Load all ad groups
101 *
102 * @since 1.1.0
103 * @param array $args array with options.
104 * @return array array with ad groups
105 * @link http://codex.wordpress.org/Function_Reference/get_terms
106 */
107 public function get_ad_groups( $args = array() ) {
108 $args['hide_empty'] = isset( $args['hide_empty'] ) ? $args['hide_empty'] : false; // display groups without any ads.
109
110 return get_terms( Advanced_Ads::AD_GROUP_TAXONOMY, $args );
111 }
112
113 /**
114 * Get the array with ad placements
115 *
116 * @since 1.1.0
117 * @return array $ad_placements
118 */
119 public function get_ad_placements_array() {
120
121 if ( ! isset( $this->ad_placements ) ) {
122 $this->ad_placements = get_option( 'advads-ads-placements', array() );
123
124 // load default array if not saved yet.
125 if ( ! is_array( $this->ad_placements ) ) {
126 $this->ad_placements = array();
127 }
128
129 $this->ad_placements = apply_filters( 'advanced-ads-get-ad-placements-array', $this->ad_placements );
130 }
131
132 return $this->ad_placements;
133 }
134
135 /**
136 * Reset placement array.
137 */
138 public function reset_placement_array() {
139 $this->ad_placements = null;
140 }
141
142 /**
143 * Update the array with ad placements
144 *
145 * @param array $ad_placements array with placements.
146 */
147 public function update_ad_placements_array( $ad_placements ) {
148 $ad_placements = Advanced_Ads_Placements::sort( $ad_placements, 'type' );
149 update_option( 'advads-ads-placements', $ad_placements );
150 $this->ad_placements = $ad_placements;
151 }
152
153
154
155 }
156