getAd($id); } // For operations on multiple ads if (is_array($targets)) { $ids = array(); $ads = array(); foreach ($targets as $target) { $i = intval($target); $ids[] = $i; $ads[] = $advman_engine->getAd($i); } } switch ($action) { case 'clear' : break; case 'default' : $default = ($advman_engine->getSetting('default-ad') != $ad->name ? $ad->name : ''); $advman_engine->setSetting('default-ad', $default); break; case 'edit' : $mode = !empty($id) ? 'edit_ad' : 'edit_network'; break; case 'filter' : $filter_active = OX_Tools::sanitize_post_var('advman-filter-active'); $filter_network = OX_Tools::sanitize_post_var('advman-filter-network'); if (!empty($filter_active)) { $filter['active'] = $filter_active; } if (!empty($filter_network)) { $filter['network'] = $filter_network; } break; case 'list' : $mode = 'list_ads'; break; case 'reset' : $mode = 'edit_network'; $ad = $advman_engine->factory($target); if ($ad) { $ad->reset_network_properties(); $advman_engine->setAdNetwork($ad); } break; case 'apply' : case 'save' : if ($mode == 'edit_ad') { if (Advman_Admin::save_properties($ad)) { $advman_engine->setAd($ad); } } elseif ($mode == 'edit_network') { $ad = $advman_engine->factory($target); if ($ad) { if (Advman_Admin::save_properties($ad, true)) { $advman_engine->setAdNetwork($ad); } } } elseif ($mode == 'settings') { Advman_Admin::save_settings(); } if ($action == 'save' && $mode != 'settings') { $mode = 'list_ads'; } break; case 'settings' : $mode = 'settings'; break; case 'cancel' : default : $ads = $advman_engine->getAds(); $mode = !empty($ads) ? 'list_ads' : 'create_ad'; break; } $template = null; switch ($mode) { case 'create_ad' : $template = Advman_Tools::get_template('Create'); $template->display(); break; case 'edit_ad' : $template = Advman_Tools::get_template('Edit_Ad', $ad); $template->display($ad); break; case 'edit_network' : $ad = $advman_engine->factory($target); if ($ad) { $template = Advman_Tools::get_template('Edit_Network', $ad); $template->display($ad); } break; case 'settings' : $template = Advman_Tools::get_template('Settings'); $template->display(); break; case 'list_ads' : default : $template = Advman_Tools::get_template('List'); $template->display(null, $filter); break; } if (is_null($template)) { $template = Advman_Tools::get_template('List'); $template->display(); } } } ?>