places = get_option( 'adfoxly_places' ); $this->render = null; $settings = get_option( 'adfoxly_settings' ); if ( ! isset( $settings[ 'redirect-slug' ] ) || empty( $settings[ 'redirect-slug' ] ) ) { $settings[ 'redirect-slug' ] = 'rdir-adfoxly'; } $this->settings = $settings; } public function renderStartOfWrapper( $id, $place ) { $render = '
'; } public function renderPlace( $id, $shuffleMeta, $place ) { $this->render .= $this->renderStartOfWrapper( $id, $place ); $first = true; foreach ( $shuffleMeta as $key => $value ): $this->render .= $this->renderAd( $value, $first ); $first = false; endforeach; $this->render .= $this->renderEndOfWrapper(); return $this->render; } public function renderAd( $value, $first ) { if ( $value[ 'meta' ][ 'adfoxly-format' ][ 0 ] === '2' && isset( $value[ 'meta' ][ 'adfoxly-adsense-code' ] ) ) { $render = $this->renderAdsenseAd( $value, $first ); } else if ( $value[ 'meta' ][ 'adfoxly-format' ][ 0 ] === '1' && isset( $value[ 'meta' ][ 'adfoxly-image' ] ) ) { $render = $this->renderImageAd( $value, $first ); } if ( isset( $render ) ) { return $render; } return false; } public function renderAdsenseAd( $value, $first ) { $render = 'settings[ 'redirect-slug' ] . '/' . $value[ 'id' ] . '"'; $render .= ' data-adfoxly-banner-id="' . $value[ 'id' ] . '"'; $render .= ' class="'; if ( true === $first ): $render .= 'active'; endif; $render .= '">'; $render .= $value[ 'meta' ][ 'adfoxly-adsense-code' ][ 0 ]; // $render .= ''; return $render; } public function renderImageAd( $value, $first ) { $render = 'settings[ 'redirect-slug' ] . '/' . $value[ 'id' ] . '"'; $render .= 'title="' . $value[ 'post_title' ] . '"'; $render .= 'data-adfoxly-banner-id="' . $value[ 'id' ] . '"'; $render .= 'target="_blank" rel="nofollow" class="'; if ( true === $first ): $render .= 'active'; endif; $render .= '">'; $render .= ''; $render .= ''; return $render; } public function renderGroup() { } public function render( $options ) { switch ( $options->type ) { case 'ad': return '0'; break; case 'group': return '1'; break; case 'campaign': return '2'; break; case 'widget': return '3'; break; case 'place': return $this->renderPlace($options->id, $options->meta, $options->place); break; default: return '5'; break; } } }