function adrotate_import_ads() { global $wpdb, $current_user, $userdata; if (wp_verify_nonce($_POST['adrotate_nonce'], 'adrotate_import')) { if (current_user_can('adrotate_ad_manage')) { if ($_FILES["adrotate_file"]["error"] == 4) { adrotate_return('adrotate-ads', 506, array('view' => 'import')); exit; } else { if ($_FILES["adrotate_file"]["error"] > 0) { adrotate_return('adrotate-ads', 507, array('view' => 'import')); exit; } else { if ($_FILES["adrotate_file"]["size"] > 4096000) { adrotate_return('adrotate-ads', 511, array('view' => 'import')); exit; } else { $now = adrotate_now(); $ad_fields = array('title', 'bannercode', 'thetime', 'updated', 'author', 'imagetype', 'image', 'tracker', 'responsive', 'type', 'weight', 'sortorder', 'budget', 'crate', 'irate', 'cities', 'countries'); if ($_FILES["adrotate_file"]["type"] == "text/xml" or $_FILES["adrotate_file"]["type"] == "application/xml" or $_FILES["adrotate_file"]["type"] == "application/x-xml") { $xml_name = "adrotate_import_" . date_i18n("mdYHi", $now) . ".xml"; move_uploaded_file($_FILES["adrotate_file"]["tmp_name"], WP_CONTENT_DIR . "/reports/" . $xml_name); $file = WP_CONTENT_URL . "/reports/" . $xml_name; $xml = simplexml_load_file($file); foreach ($xml->xpath('advert') as $advert) { $ad = array('title' => strip_tags(htmlspecialchars(trim($advert->title, "\t\n "), ENT_QUOTES)), 'bannercode' => htmlspecialchars(trim($advert->bannercode, "\t\n "), ENT_QUOTES), 'thetime' => $now, 'updated' => $now, 'author' => $current_user->user_login, 'imagetype' => strip_tags(trim($advert->imagetype, "\t\n ")), 'image' => strip_tags(trim($advert->image, "\t\n ")), 'tracker' => strip_tags(trim($advert->tracker, "\t\n ")), 'mobile' => strip_tags(trim($advert->mobile, "\t\n ")), 'tablet' => strip_tags(trim($advert->tablet, "\t\n ")), 'responsive' => strip_tags(trim($advert->responsive, "\t\n ")), 'type' => 'import', 'weight' => strip_tags(trim($advert->weight, "\t\n ")), 'sortorder' => 0, 'budget' => strip_tags(trim($advert->budget, "\t\n ")), 'crate' => strip_tags(trim($advert->crate, "\t\n ")), 'irate' => strip_tags(trim($advert->irate, "\t\n ")), 'cities' => serialize(explode(',', strip_tags(trim($advert->cities, "\t\n ")))), 'countries' => serialize(explode(',', strip_tags(trim($advert->countries, "\t\n "))))); $wpdb->insert($wpdb->prefix . "adrotate", $ad); $ad_id = $wpdb->insert_id; $schedule = array('name' => 'Schedule for advert ' . $ad_id, 'starttime' => strip_tags(trim($advert->start, "\t\n ")), 'stoptime' => strip_tags(trim($advert->end, "\t\n ")), 'maxclicks' => 0, 'maximpressions' => 0, 'spread' => 'N', 'dayimpressions' => 0); $wpdb->insert($wpdb->prefix . "adrotate_schedule", $schedule); $schedule_id = $wpdb->insert_id; $linkmeta = array('ad' => $ad_id, 'group' => 0, 'user' => 0, 'schedule' => $schedule_id); $wpdb->insert($wpdb->prefix . "adrotate_linkmeta", $linkmeta); unset($advert, $ad, $ad_id, $schedule, $schedule_id, $linkmeta); } } adrotate_prepare_evaluate_ads(false); // return to dashboard adrotate_return('adrotate-ads', 216); exit; } } } } else { adrotate_return('adrotate-ads', 500); } } else { adrotate_nonce_error(); exit; } }
function adrotate_evaluate_ads() { adrotate_prepare_evaluate_ads(false); }
function adrotate_check_upgrade() { global $wpdb; if(version_compare(PHP_VERSION, '5.3.0', '<') == -1) { deactivate_plugins(plugin_basename('adrotate/adrotate.php')); wp_die('AdRotate 3.10.8 and up requires PHP 5.3 or higher. Your server reports version '.PHP_VERSION.'. Contact your hosting provider about upgrading your server!<br /><a href="'. get_option('siteurl').'/wp-admin/plugins.php">Back to plugins</a>.'); return; } else { // Old version? Upgrade $adrotate_db_version = get_option("adrotate_db_version"); if($adrotate_db_version['current'] < ADROTATE_DB_VERSION) { adrotate_database_upgrade(); adrotate_prepare_evaluate_ads(false); } // Check if there are changes to core that need upgrading $adrotate_version = get_option("adrotate_version"); if($adrotate_version['current'] < ADROTATE_VERSION) { adrotate_core_upgrade(); } } }
function adrotate_delete($id, $what) { global $wpdb; if ($id > 0) { if ($what == 'banner') { $wpdb->query($wpdb->prepare("DELETE FROM `" . $wpdb->prefix . "adrotate` WHERE `id` = %d;", $id)); $wpdb->query($wpdb->prepare("DELETE FROM `" . $wpdb->prefix . "adrotate_linkmeta` WHERE `ad` = %d;", $id)); $wpdb->query($wpdb->prepare("DELETE FROM `" . $wpdb->prefix . "adrotate_stats` WHERE `ad` = %d;", $id)); adrotate_prepare_evaluate_ads(false); } else { if ($what == 'group') { $wpdb->query($wpdb->prepare("DELETE FROM `" . $wpdb->prefix . "adrotate_groups` WHERE `id` = %d;", $id)); $wpdb->query($wpdb->prepare("DELETE FROM `" . $wpdb->prefix . "adrotate_linkmeta` WHERE `group` = %d;", $id)); adrotate_prepare_evaluate_ads(false); } else { if ($what == 'bannergroup') { $linkmeta = $wpdb->get_results($wpdb->prepare("SELECT `ad` FROM `" . $wpdb->prefix . "adrotate_linkmeta` WHERE `group` = %d;", $id)); foreach ($linkmeta as $meta) { $wpdb->query("DELETE FROM `" . $wpdb->prefix . "adrotate` WHERE `id` = " . $meta->ad . ";"); $wpdb->query("DELETE FROM `" . $wpdb->prefix . "adrotate_stats` WHERE `ad` = " . $meta->ad . ";"); $wpdb->query("DELETE FROM `" . $wpdb->prefix . "adrotate_linkmeta` WHERE `ad` = " . $meta->ad . ";"); } $wpdb->query($wpdb->prepare("DELETE FROM `" . $wpdb->prefix . "adrotate_groups` WHERE `id` = %d;", $id)); $wpdb->query($wpdb->prepare("DELETE FROM `" . $wpdb->prefix . "adrotate_linkmeta` WHERE `group` = %d;", $id)); $wpdb->query($wpdb->prepare("DELETE FROM `" . $wpdb->prefix . "adrotate_stats` WHERE `group` = %d;", $id)); // Perhaps unnessesary adrotate_prepare_evaluate_ads(false); } } } } }