public static function check_campaigndata($post_data) { global $post, $cfg; if (is_null($cfg)) { $cfg = get_option(WPeMatico::OPTION_KEY); } if (isset($post_data['ID']) && !empty($post_data['ID'])) { $campaigndata['ID'] = $post_data['ID']; } elseif (isset($post_data['campaign_id']) && !empty($post_data['campaign_id'])) { $campaigndata['ID'] = $post_data['campaign_id']; } elseif (isset($post->ID) && $post->ID > 0) { $campaigndata['ID'] = $post->ID; } else { } //$campaigndata['campaign_id'] = $post_id; $campaigndata['campaign_title'] = isset($post_data['campaign_title']) && !empty($post_data['campaign_title']) ? $post_data['campaign_title'] : get_the_title($campaigndata['ID']); $campaigndata['campaign_posttype'] = !isset($post_data['campaign_posttype']) ? 'publish' : $post_data['campaign_posttype']; $campaigndata['campaign_customposttype'] = !isset($post_data['campaign_customposttype']) ? 'post' : $post_data['campaign_customposttype']; $campaigndata['campaign_post_format'] = !isset($post_data['campaign_post_format']) ? '0' : $post_data['campaign_post_format']; $campaigndata['activated'] = !isset($post_data['activated']) || empty($post_data['activated']) ? false : $post_data['activated'] == 1 ? true : false; $campaigndata['campaign_feeddate'] = !isset($post_data['campaign_feeddate']) || empty($post_data['campaign_feeddate']) ? false : $post_data['campaign_feeddate'] == 1 ? true : false; // $campaign_feeds=array(); $campaign_feeds = isset($post_data['campaign_feeds']) && !empty($post_data['campaign_feeds']) ? $post_data['campaign_feeds'] : array(); if (!empty($campaign_feeds)) { // Proceso los feeds sacando los que estan en blanco foreach ($campaign_feeds as $k => $on) { if (empty($campaign_feeds[$k])) { unset($campaign_feeds[$k]); } } } /* if(isset($post_data['campaign_feeds'])) { // Proceso los feeds foreach($post_data['campaign_feeds'] as $k => $on) { $feedname = $post_data['campaign_feeds'][$k]; if(!empty($feedname)) $campaign_feeds[]=$feedname; } } */ $campaigndata['campaign_feeds'] = (array) $campaign_feeds; $campaigndata['cron'] = !isset($post_data['cronminutes']) ? !isset($post_data['cron']) ? '0 3 * * *' : $post_data['cron'] : WPeMatico::cron_string($post_data); $campaigndata['cronnextrun'] = isset($post_data['cronnextrun']) && !empty($post_data['cronnextrun']) ? (int) $post_data['cronnextrun'] : (int) WPeMatico::time_cron_next($campaigndata['cron']); // Direccion de e-mail donde enviar los logs $campaigndata['mailerroronly'] = !isset($post_data['mailerroronly']) || empty($post_data['mailerroronly']) ? false : $post_data['mailerroronly'] == 1 ? true : false; $campaigndata['mailaddresslog'] = !isset($post_data['mailaddresslog']) ? '' : sanitize_email($post_data['mailaddresslog']); // *** Campaign Options $campaigndata['campaign_max'] = !isset($post_data['campaign_max']) ? 5 : (int) $post_data['campaign_max']; $campaigndata['campaign_author'] = !isset($post_data['campaign_author']) ? 0 : (int) $post_data['campaign_author']; $campaigndata['campaign_linktosource'] = !isset($post_data['campaign_linktosource']) || empty($post_data['campaign_linktosource']) ? false : $post_data['campaign_linktosource'] == 1 ? true : false; $campaigndata['campaign_strip_links'] = !isset($post_data['campaign_strip_links']) || empty($post_data['campaign_strip_links']) ? false : $post_data['campaign_strip_links'] == 1 ? true : false; $campaigndata['campaign_commentstatus'] = !isset($post_data['campaign_commentstatus']) ? 'closed' : $post_data['campaign_commentstatus']; $campaigndata['campaign_allowpings'] = !isset($post_data['campaign_allowpings']) || empty($post_data['campaign_allowpings']) ? false : $post_data['campaign_allowpings'] == 1 ? true : false; $campaigndata['campaign_woutfilter'] = !isset($post_data['campaign_woutfilter']) || empty($post_data['campaign_woutfilter']) ? false : $post_data['campaign_woutfilter'] == 1 ? true : false; // *** Campaign Images $campaigndata['campaign_imgcache'] = !isset($post_data['campaign_imgcache']) || empty($post_data['campaign_imgcache']) ? false : $post_data['campaign_imgcache'] == 1 ? true : false; $campaigndata['campaign_cancel_imgcache'] = !isset($post_data['campaign_cancel_imgcache']) || empty($post_data['campaign_cancel_imgcache']) ? false : $post_data['campaign_cancel_imgcache'] == 1 ? true : false; if (isset($cfg['imgcache']) && $cfg['imgcache']) { if ($campaigndata['campaign_cancel_imgcache']) { $campaigndata['campaign_imgcache'] = false; } } else { if ($campaigndata['campaign_imgcache']) { $campaigndata['campaign_cancel_imgcache'] = false; } } $campaigndata['campaign_nolinkimg'] = !isset($post_data['campaign_nolinkimg']) || empty($post_data['campaign_nolinkimg']) ? false : $post_data['campaign_nolinkimg'] == 1 ? true : false; $campaigndata['campaign_solo1ra'] = !isset($post_data['campaign_solo1ra']) || empty($post_data['campaign_solo1ra']) ? false : $post_data['campaign_solo1ra'] == 1 ? true : false; // *** Campaign Template $campaigndata['campaign_enable_template'] = !isset($post_data['campaign_enable_template']) || empty($post_data['campaign_enable_template']) ? false : $post_data['campaign_enable_template'] == 1 ? true : false; if (isset($post_data['campaign_template'])) { $campaigndata['campaign_template'] = $post_data['campaign_template']; } else { $campaigndata['campaign_enable_template'] = false; $campaigndata['campaign_template'] = ''; } // *** Processed posts count $campaigndata['postscount'] = !isset($post_data['postscount']) ? 0 : (int) $post_data['postscount']; $campaigndata['lastpostscount'] = !isset($post_data['lastpostscount']) ? 0 : (int) $post_data['lastpostscount']; $campaigndata['lastrun'] = !isset($post_data['lastrun']) ? 0 : (int) $post_data['lastrun']; $campaigndata['lastruntime'] = !isset($post_data['lastruntime']) ? 0 : (int) $post_data['lastruntime']; //campaign_categories & tags $campaigndata['campaign_tags'] = !isset($post_data['campaign_tags']) ? '' : $post_data['campaign_tags']; $campaigndata['campaign_autocats'] = !isset($post_data['campaign_autocats']) || empty($post_data['campaign_autocats']) ? false : $post_data['campaign_autocats'] == 1 ? true : false; // Primero proceso las categorias nuevas si las hay y las agrego al final del array # New categories if (isset($post_data['campaign_newcat'])) { foreach ($post_data['campaign_newcat'] as $k => $on) { $catname = $post_data['campaign_newcatname'][$k]; if (!empty($catname)) { //$post_data['post_category'][] = wp_insert_category(array('cat_name' => $catname)); $arg = array('description' => "Auto Added by WPeMatico", 'parent' => "0"); $newcat = wp_insert_term($catname, "category", $arg); $post_data['post_category'][] = is_array($newcat) ? $newcat['term_id'] : $newcat; } } } # All: Las elegidas + las nuevas ya agregadas $campaigndata['campaign_categories'] = !isset($post_data['post_category']) ? !isset($post_data['campaign_categories']) ? array() : (array) $post_data['campaign_categories'] : (array) $post_data['post_category']; #Proceso las Words to Category sacando los que estan en blanco //campaign_wrd2cat, campaign_wrd2cat_regex, campaign_wrd2cat_category $campaign_wrd2cat = array(); if (isset($post_data['campaign_wrd2cat']['word'])) { // for ($i = 0; $i <= count(@$campaign_wrd2cat['word']); $i++) : foreach ($post_data['campaign_wrd2cat']['word'] as $id => $value) { $word = isset($post_data['_wp_http_referer']) ? addslashes($post_data['campaign_wrd2cat']['word'][$id]) : $post_data['campaign_wrd2cat']['word'][$id]; $regex = $post_data['campaign_wrd2cat']['regex'][$id] == 1 ? true : false; $cases = $post_data['campaign_wrd2cat']['cases'][$id] == 1 ? true : false; $w2ccateg = $post_data['campaign_wrd2cat']['w2ccateg'][$id]; if (!empty($word)) { $campaign_wrd2cat['word'][] = $word; $campaign_wrd2cat['regex'][] = $regex; $campaign_wrd2cat['cases'][] = $cases; $campaign_wrd2cat['w2ccateg'][] = $w2ccateg; } } } $_wrd2cat = array('word' => array(''), 'regex' => array(false), 'w2ccateg' => array(''), 'cases' => array(false)); $campaigndata['campaign_wrd2cat'] = !empty($campaign_wrd2cat) ? (array) $campaign_wrd2cat : (array) $_wrd2cat; // *** Campaign Rewrites // Proceso los rewrites sacando los que estan en blanco // $campaign_rewrites = Array(); $campaign_rewrites = isset($post_data['campaign_rewrites']) && !empty($post_data['campaign_rewrites']) ? $post_data['campaign_rewrites'] : array(); if (isset($post_data['campaign_word_origin'])) { foreach ($post_data['campaign_word_origin'] as $id => $rewrite) { $origin = addslashes($post_data['campaign_word_origin'][$id]); $regex = $post_data['campaign_word_option_regex'][$id] == 1 ? true : false; $title = $post_data['campaign_word_option_title'][$id] == 1 ? true : false; $rewrite = addslashes($post_data['campaign_word_rewrite'][$id]); $relink = addslashes($post_data['campaign_word_relink'][$id]); if (!empty($origin)) { $campaign_rewrites['origin'][] = $origin; $campaign_rewrites['regex'][] = $regex; $campaign_rewrites['title'][] = $title; $campaign_rewrites['rewrite'][] = $rewrite; $campaign_rewrites['relink'][] = $relink; } } } $campaigndata['campaign_rewrites'] = !empty($campaign_rewrites) ? (array) $campaign_rewrites : array('origin' => array(''), 'title' => array(false), 'regex' => array(false), 'rewrite' => array(''), 'relink' => array('')); if (has_filter('pro_check_campaigndata')) { $campaigndata = apply_filters('pro_check_campaigndata', $campaigndata, $post_data); } return $campaigndata; }
public static function save_campaigndata($post_id) { global $post; // Stop WP from clearing custom fields on autosave, and also during ajax requests (e.g. quick edit) and bulk edits. if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE || defined('DOING_AJAX') && DOING_AJAX || isset($_REQUEST['bulk_edit'])) { return $post_id; } if (!wp_verify_nonce(@$_POST['wpematico_nonce'], 'edit-campaign')) { return $post_id; } if ($post->post_type != 'wpematico') { return $post_id; } $nivelerror = error_reporting(E_ERROR | E_WARNING | E_PARSE); $cfg = get_option(WPeMatico::OPTION_KEY); $campaign = array(); $campaign = WPeMatico::get_campaign($post_id); $campaign['campaign_posttype'] = $_POST['campaign_posttype']; $campaign['campaign_customposttype'] = $_POST['campaign_customposttype']; $campaign['activated'] = $_POST['activated'] == 1 ? true : false; $campaign['campaign_feeddate'] = $_POST['campaign_feeddate'] == 1 ? true : false; $campaign['cron'] = WPeMatico::cron_string($_POST); $campaign['cronnextrun'] = WPeMatico::time_cron_next($campaign['cron']); // Direccion de e-mail donde enviar los logs $campaign['mailaddresslog'] = sanitize_email($_POST['mailaddresslog']); $campaign['mailerroronly'] = $_POST['mailerroronly'] == 1 ? true : false; // Process categories $campaign['campaign_autocats'] = $_POST['campaign_autocats'] == 1 ? true : false; // Primero proceso las categorias nuevas si las hay y las agrego al final del array # New categories if (isset($_POST['campaign_newcat'])) { foreach ($_POST['campaign_newcat'] as $k => $on) { $catname = $_POST['campaign_newcatname'][$k]; if (!empty($catname)) { //$_POST['campaign_categories'][] = wp_insert_category(array('cat_name' => $catname)); $arg = array('description' => "Auto Added by WPeMatico", 'parent' => "0"); $_POST['campaign_categories'][] = wp_insert_term($catname, "category", $arg); } } } # All: Las elegidas + las nuevas ya agregadas if (isset($_POST['campaign_categories'])) { $campaign['campaign_categories'] = (array) $_POST['campaign_categories']; } //if(isset($_POST['campaign_tags'])) { $campaign['campaign_tags'] = $_POST['campaign_tags']; //} #Proceso las Words to Category sacando los que estan en blanco //campaign_wrd2cat, campaign_wrd2cat_regex, campaign_wrd2cat_category if (isset($_POST['campaign_wrd2cat'])) { foreach ($_POST['campaign_wrd2cat'] as $id => $w2cword) { $word = addslashes($_POST['campaign_wrd2cat'][$id]); $regex = $_POST['campaign_wrd2cat_regex'][$id] == 1 ? true : false; $cases = $_POST['campaign_wrd2cat_cases'][$id] == 1 ? true : false; $w2ccateg = $_POST['campaign_wrd2cat_category'][$id]; if (!empty($word)) { if (!isset($campaign_wrd2cat)) { $campaign_wrd2cat = array(); } $campaign_wrd2cat['word'][] = $word; $campaign_wrd2cat['regex'][] = $regex; $campaign_wrd2cat['cases'][] = $cases; $campaign_wrd2cat['w2ccateg'][] = $w2ccateg; } } } $campaign['campaign_wrd2cat'] = (array) $campaign_wrd2cat; // Proceso los feeds sacando los que estan en blanco if (isset($_POST['campaign_feeds'])) { foreach ($_POST['campaign_feeds'] as $k => $on) { $feedname = $_POST['campaign_feeds'][$k]; if (!empty($feedname)) { if (!isset($campaign_feeds)) { $campaign_feeds = array(); } $campaign_feeds[] = $feedname; } } } // Jamas llegaria aca si no hay feeds por el check ajax $campaign['campaign_feeds'] = (array) $campaign_feeds; // *** Campaign Options $campaign['campaign_max'] = (int) $_POST['campaign_max']; $campaign['campaign_author'] = $_POST['campaign_author']; $campaign['campaign_linktosource'] = $_POST['campaign_linktosource'] == 1 ? true : false; $campaign['campaign_strip_links'] = $_POST['campaign_strip_links'] == 1 ? true : false; $campaign['campaign_commentstatus'] = $_POST['campaign_commentstatus']; $campaign['campaign_allowpings'] = $_POST['campaign_allowpings'] == 1 ? true : false; $campaign['campaign_woutfilter'] = $_POST['campaign_woutfilter'] == 1 ? true : false; // *** Campaign Images $campaign['campaign_imgcache'] = $_POST['campaign_imgcache'] == 1 ? true : false; $campaign['campaign_cancel_imgcache'] = $_POST['campaign_cancel_imgcache'] == 1 ? true : false; if ($cfg['imgcache']) { if ($campaign['campaign_cancel_imgcache']) { $campaign['campaign_imgcache'] = false; } } else { if ($campaign['campaign_imgcache']) { $campaign['campaign_cancel_imgcache'] = false; } } $campaign['campaign_nolinkimg'] = $_POST['campaign_nolinkimg'] == 1 ? true : false; $campaign['campaign_solo1ra'] = $_POST['campaign_solo1ra'] == 1 ? true : false; // *** Campaign Template $campaign['campaign_enable_template'] = $_POST['campaign_enable_template'] == 1 ? true : false; if (isset($_POST['campaign_template'])) { $campaign['campaign_template'] = $_POST['campaign_template']; } else { $campaign['campaign_enable_template'] = false; $campaign['campaign_template'] = ''; } // *** Campaign Rewrites // Proceso los rewrites sacando los que estan en blanco if (isset($_POST['campaign_word_origin'])) { foreach ($_POST['campaign_word_origin'] as $id => $rewrite) { $origin = addslashes($_POST['campaign_word_origin'][$id]); $regex = $_POST['campaign_word_option_regex'][$id] == 1 ? true : false; $title = $_POST['campaign_word_option_title'][$id] == 1 ? true : false; $rewrite = addslashes($_POST['campaign_word_rewrite'][$id]); $relink = addslashes($_POST['campaign_word_relink'][$id]); if (!empty($origin)) { if (!isset($campaign_rewrites)) { $campaign_rewrites = array(); } $campaign_rewrites['origin'][] = $origin; $campaign_rewrites['regex'][] = $regex; $campaign_rewrites['title'][] = $title; $campaign_rewrites['rewrite'][] = $rewrite; $campaign_rewrites['relink'][] = $relink; } } } $campaign['campaign_rewrites'] = (array) $campaign_rewrites; //***** Call nonstatic if ($cfg['nonstatic']) { $campaign = NoNStatic::save_data($campaign, $_POST); } // check and correct all fields $campaign = self::check_campaigndata($campaign); error_reporting($nivelerror); // Grabo la campaña add_post_meta($post_id, 'campaign_data', $campaign, true) or update_post_meta($post_id, 'campaign_data', $campaign); return $post_id; }