Пример #1
0
 /**
  * return content of a placement
  *
  * @since 1.1.0
  * @param string $id   slug of the display
  * @param array  $args optional arguments (passed to child)
  */
 public static function output($id = '', $args = array())
 {
     // get placement data for the slug
     if ($id == '') {
         return;
     }
     $placements = Advanced_Ads::get_ad_placements_array();
     if (isset($placements[$id]['item']) && $placements[$id]['item'] !== '') {
         $_item = explode('_', $placements[$id]['item']);
         if (!isset($_item[1]) || empty($_item[1])) {
             return;
         }
         // inject options
         if (isset($placements[$id]['options']) && is_array($placements[$id]['options'])) {
             foreach ($placements[$id]['options'] as $_k => $_v) {
                 if (!isset($args[$_k])) {
                     $args[$_k] = $_v;
                 }
             }
         }
         // return either ad or group content
         switch ($_item[0]) {
             case 'ad':
             case Advanced_Ads_Select::AD:
                 // create class from placement id (not if header injection)
                 if (!isset($placements[$id]['type']) || $placements[$id]['type'] !== 'header') {
                     if (!isset($args['output'])) {
                         $args['output'] = array();
                     }
                     if (!isset($args['output']['class'])) {
                         $args['output']['class'] = array();
                     }
                     $class = 'advads-' . $id;
                     if (!in_array($class, $args['output']['class'])) {
                         $args['output']['class'][] = $class;
                     }
                 }
                 // fix method id
                 $_item[0] = Advanced_Ads_Select::AD;
                 break;
                 // avoid loops (programmatical error)
             // avoid loops (programmatical error)
             case Advanced_Ads_Select::PLACEMENT:
                 return;
             case Advanced_Ads_Select::GROUP:
             default:
         }
         // add the placement to the global output array
         $advads = Advanced_Ads::get_instance();
         $advads->current_ads[] = array('type' => 'placement', 'id' => $id, 'title' => $placements[$id]['name']);
         return Advanced_Ads_Select::get_instance()->get_ad_by_method((int) $_item[1], $_item[0], $args);
     }
 }
 /**
  * Render the debug page
  *
  * @since    1.0.1
  */
 public function display_plugin_debug_page()
 {
     // load array with ads by condition
     $plugin = Advanced_Ads::get_instance();
     $plugin_options = $plugin->options();
     $ad_placements = Advanced_Ads::get_ad_placements_array();
     // -TODO use model
     include ADVADS_BASE_PATH . 'admin/views/debug.php';
 }
Пример #3
0
 /**
  * get widget placements for select field
  * 
  * @since 1.6.11
  * @return arr $items for select field
  */
 public static function widget_placements_for_select()
 {
     $select = array();
     $placements = Advanced_Ads::get_ad_placements_array();
     foreach ($placements as $_placement_slug => $_placement) {
         if (isset($_placement['type']) && 'sidebar_widget' === $_placement['type']) {
             $select['placements']['placement_' . $_placement_slug] = $_placement['name'];
         }
     }
     return $select;
 }