public function __construct($campaign_id) { global $wpdb, $campaign_log_message, $jobwarnings, $joberrors; $jobwarnings = 0; $joberrors = 0; @ini_set('safe_mode', 'Off'); //disable safe mode @ini_set('ignore_user_abort', 'Off'); //Set PHP ini setting ignore_user_abort(true); //user can't abort script (close windows or so.) $this->campaign_id = $campaign_id; //set campaign id $this->campaign = WPeMatico::get_campaign($this->campaign_id); //$this->fetched_posts = $this->campaign['postscount']; $this->cfg = get_option(WPeMatico::OPTION_KEY); // new actions if ((int) $this->cfg['throttle'] > 0) { add_action('wpematico_inserted_post', array('WPeMatico', 'throttling_inserted_post')); } //set function for PHP user defined error handling if (defined('WP_DEBUG') and WP_DEBUG) { set_error_handler('wpematico_joberrorhandler', E_ALL | E_STRICT); } else { set_error_handler('wpematico_joberrorhandler', E_ALL & ~E_NOTICE); } //Set job start settings $this->campaign['starttime'] = current_time('timestamp'); //set start time for job $this->campaign['cronnextrun'] = WPeMatico::time_cron_next($this->campaign['cron']); //set next run $this->campaign['lastpostscount'] = 0; // Lo pone en 0 y lo asigna al final WPeMatico::update_campaign($this->campaign_id, $this->campaign); //Save start time data if (has_action('Wpematico_init_fetching')) { do_action('Wpematico_init_fetching', $this->campaign); } //check max script execution tme if (ini_get('safe_mode') or strtolower(ini_get('safe_mode')) == 'on' or ini_get('safe_mode') == '1') { trigger_error(sprintf(__('PHP Safe Mode is on!!! Max exec time is %1$d sec.', WPeMatico::TEXTDOMAIN), ini_get('max_execution_time')), E_USER_WARNING); } // check function for memorylimit if (!function_exists('memory_get_usage')) { ini_set('memory_limit', apply_filters('admin_memory_limit', '256M')); //Wordpress default trigger_error(sprintf(__('Memory limit set to %1$s ,because can not use PHP: memory_get_usage() function to dynamically increase the Memory!', WPeMatico::TEXTDOMAIN), ini_get('memory_limit')), E_USER_WARNING); } //run job parts $postcount = 0; $this->feeds = $this->campaign['campaign_feeds']; // --- Obtengo los feeds de la campaña foreach ($this->feeds as $feed) { $postcount += $this->processFeed($feed); #- ---- Proceso todos los feeds } $this->fetched_posts += $postcount; $this->fetch_end(); // if everything ok call fetch_end and end class }
public static function check_campaigndata($campaigndata = array()) { if (empty($campaigndata['campaign_posttype']) or !is_string($campaigndata['campaign_posttype'])) { $campaigndata['campaign_posttype'] = 'publish'; } if (empty($campaigndata['campaign_customposttype']) or !is_string($campaigndata['campaign_customposttype'])) { $campaigndata['campaign_customposttype'] = 'post'; } if (!isset($campaigndata['activated']) or !is_bool($campaigndata['activated'])) { $campaigndata['activated'] = false; } if (!isset($campaigndata['campaign_feeddate']) or !is_bool($campaigndata['campaign_feeddate'])) { $campaigndata['campaign_feeddate'] = false; } if (!isset($campaigndata['campaign_feeds']) or !is_array($campaigndata['campaign_feeds'])) { $campaigndata['campaign_feeds'] = array(); } if (!isset($campaigndata['campaign_wrd2cat']) or !is_array($campaigndata['campaign_wrd2cat'])) { $campaigndata['campaign_wrd2cat'] = array('word' => array(''), 'regex' => array(false), 'w2ccateg' => array(''), 'cases' => array(false)); } if (!isset($campaigndata['campaign_rewrites']) or !is_array($campaigndata['campaign_rewrites'])) { $campaigndata['campaign_rewrites'] = array(); } //if (!isset($campaigndata['campaign_categories'])) if (!isset($campaigndata['campaign_categories']) or !is_array($campaigndata['campaign_categories'])) { $campaigndata['campaign_categories'] = array(); } if (!isset($campaigndata['campaign_tags']) or !is_string($campaigndata['campaign_tags'])) { $campaigndata['campaign_tags'] = ''; } if (!isset($campaigndata['campaign_autocats']) or !is_bool($campaigndata['campaign_autocats'])) { $campaigndata['campaign_autocats'] = false; } if (!isset($campaigndata['campaign_linktosource']) or !is_bool($campaigndata['campaign_linktosource'])) { $campaigndata['campaign_linktosource'] = false; } if (!isset($campaigndata['campaign_strip_links']) or !is_bool($campaigndata['campaign_strip_links'])) { $campaigndata['campaign_strip_links'] = false; } if (!isset($campaigndata['campaign_commentstatus']) or !is_string($campaigndata['campaign_commentstatus'])) { $campaigndata['campaign_commentstatus'] = 'open'; } if (!isset($campaigndata['campaign_allowpings'])) { // or !is_bool($campaigndata['campaign_allowpings'])) $campaigndata['campaign_allowpings'] = true; } if (!isset($campaigndata['campaign_woutfilter'])) { // or !is_bool($campaigndata['campaign_woutfilter'])) $campaigndata['campaign_woutfilter'] = false; } if (!isset($campaigndata['campaign_author'])) { // or !is_int($campaigndata['campaign_author'])) $campaigndata['campaign_author'] = 0; } if (!isset($campaigndata['campaign_max'])) { // or !is_int($campaigndata['campaign_max'])) $campaigndata['campaign_max'] = 10; } // *** Processed posts count if (!isset($campaigndata['postscount'])) { // or !is_int($campaigndata['postscount'])) $campaigndata['postscount'] = 0; } if (!isset($campaigndata['lastpostscount'])) { // or !is_int($campaigndata['lastpostscount'])) $campaigndata['lastpostscount'] = 0; } if (!isset($campaigndata['lastrun'])) { // or !is_int($campaigndata['lastrun'])) $campaigndata['lastrun'] = 0; } if (!isset($campaigndata['lastruntime'])) { // or !is_int($campaigndata['lastruntime'])) $campaigndata['lastruntime'] = 0; } // *** Campaign Images $campaigndata['campaign_imgcache'] = (!isset($campaigndata['campaign_imgcache']) or !is_bool($campaigndata['campaign_imgcache']) or !$campaigndata['campaign_imgcache'] == 1) ? false : true; $campaigndata['campaign_cancel_imgcache'] = (!isset($campaigndata['campaign_cancel_imgcache']) or !is_bool($campaigndata['campaign_cancel_imgcache']) or !$campaigndata['campaign_cancel_imgcache'] == 1) ? false : true; $campaigndata['campaign_nolinkimg'] = (!isset($campaigndata['campaign_nolinkimg']) or !is_bool($campaigndata['campaign_nolinkimg']) or !$campaigndata['campaign_nolinkimg'] == 1) ? false : true; $campaigndata['campaign_solo1ra'] = (!isset($campaigndata['campaign_solo1ra']) or !is_bool($campaigndata['campaign_solo1ra']) or !$campaigndata['campaign_solo1ra'] == 1) ? false : true; $campaigndata['default_img'] = (!isset($campaigndata['default_img']) or !is_bool($campaigndata['default_img']) or !$campaigndata['default_img'] == 1) ? false : true; if (!isset($campaigndata['default_img_url']) or !is_string($campaigndata['default_img_url'])) { $campaigndata['default_img_url'] = ''; } if (!isset($campaigndata['default_img_link']) or !is_string($campaigndata['default_img_link'])) { $campaigndata['default_img_link'] = ''; } if (!isset($campaigndata['default_img_title']) or !is_string($campaigndata['default_img_title'])) { $campaigndata['default_img_title'] = ''; } if (!isset($campaigndata['cron']) or !is_string($campaigndata['cron'])) { $campaigndata['cron'] = '0 3 * * *'; } if (!isset($campaigndata['cronnextrun']) or !is_numeric($campaigndata['cronnextrun'])) { $campaigndata['cronnextrun'] = WPeMatico::time_cron_next($campaigndata['cron']); } if (!isset($campaigndata['mailaddresslog'])) { $campaigndata['mailaddresslog'] = ''; } if (is_string($campaigndata['mailaddresslog']) && (false === ($pos = strpos($campaigndata['mailaddresslog'], '@')) or false === strpos($campaigndata['mailaddresslog'], '.', $pos))) { $campaigndata['mailaddresslog'] = ''; } //get_option('admin_email'); if (!isset($campaigndata['mailerroronly']) or !is_bool($campaigndata['mailerroronly'])) { $campaigndata['mailerroronly'] = true; } if (!isset($campaigndata['mailefilesize']) or !is_float($campaigndata['mailefilesize'])) { $campaigndata['mailefilesize'] = 0; } //if (!is_string($campaigndata['mailaddress']) or false === $pos=strpos($campaigndata['mailaddress'],'@') or false === strpos($campaigndata['mailaddress'],'.',$pos)) // $campaigndata['mailaddress']=''; if (!isset($campaigndata['campaign_enable_template']) or !is_bool($campaigndata['campaign_enable_template'])) { $campaigndata['campaign_enable_template'] = false; } return $campaigndata; }
/** ************ACCION CLEAR: ABORT CAMPAIGN */ function wpematico_clear_campaign() { if (!(isset($_GET['post']) || isset($_POST['post']) || isset($_REQUEST['action']) && 'wpematico_clear_campaign' == $_REQUEST['action'])) { wp_die(__('No campaign ID has been supplied!', WPeMatico::TEXTDOMAIN)); } // Get the original post $id = isset($_GET['post']) ? $_GET['post'] : $_POST['post']; $campaign_data = WPeMatico::get_campaign($id); $campaign_data['cronnextrun'] = WPeMatico::time_cron_next($campaign_data['cron']); //set next run $campaign_data['stoptime'] = current_time('timestamp'); $campaign_data['lastrun'] = $campaign_data['starttime']; $campaign_data['lastruntime'] = $campaign_data['stoptime'] - $campaign_data['starttime']; $campaign_data['starttime'] = ''; WPeMatico::update_campaign($id, $campaign_data); WPeMatico::add_wp_notice(array('text' => __('Campaign cleared', WPeMatico::TEXTDOMAIN) . ' <b>' . get_the_title($id) . '</b>', 'below-h2' => false)); // Redirect to the post list screen wp_redirect(admin_url('edit.php?post_type=wpematico')); }
public static function options_box($post) { global $post, $campaign_data, $cfg, $helptip; $campaign_max = $campaign_data['campaign_max']; $campaign_feeddate = $campaign_data['campaign_feeddate']; $campaign_author = $campaign_data['campaign_author']; $campaign_linktosource = $campaign_data['campaign_linktosource']; $campaign_commentstatus = $campaign_data['campaign_commentstatus']; $campaign_allowpings = $campaign_data['campaign_allowpings']; $campaign_woutfilter = $campaign_data['campaign_woutfilter']; $campaign_strip_links = $campaign_data['campaign_strip_links']; ?> <div id="optionslayer" class="ibfix vtop"> <p> <input name="campaign_max" type="number" min="0" size="3" value="<?php echo $campaign_max; ?> " class="small-text" id="campaign_max"/> <label for="campaign_max"><?php echo __('Max items to create on each fetch.', WPeMatico::TEXTDOMAIN); ?> </label> <span class="mya4_sprite infoIco help_tip" title="<?php echo $helptip['itemfetch']; ?> "></span> </p> <p> <input class="checkbox" type="checkbox"<?php checked($campaign_feeddate, true); ?> name="campaign_feeddate" value="1" id="campaign_feeddate"/> <label for="campaign_feeddate"><?php echo __('Use feed item date.', WPeMatico::TEXTDOMAIN); ?> </label> <span class="mya4_sprite infoIco help_tip" title="<?php echo $helptip['itemdate']; ?> "></span> </p> <p> <input class="checkbox" type="checkbox"<?php checked($campaign_linktosource, true); ?> name="campaign_linktosource" value="1" id="campaign_linktosource"/> <label for="campaign_linktosource"><?php echo __('Post title links to source.', WPeMatico::TEXTDOMAIN); ?> </label> <span class="mya4_sprite infoIco help_tip" title="<?php echo $helptip['linktosource']; ?> "></span> <?php if ($cfg['disableccf']) { echo '<br /><small>' . __('Feature deactivated on Settings.', WPeMatico::TEXTDOMAIN) . '</small>'; } ?> </p> <p> <input class="checkbox" type="checkbox"<?php checked($campaign_strip_links, true); ?> name="campaign_strip_links" value="1" id="campaign_strip_links"/> <label for="campaign_strip_links"><?php echo __('Strip links from content.', WPeMatico::TEXTDOMAIN); ?> </label> <span class="mya4_sprite infoIco help_tip" title="<?php echo $helptip['striplinks']; ?> "></span> </p> <p> <input class="checkbox" type="checkbox"<?php checked($campaign_allowpings, true); ?> name="campaign_allowpings" value="1" id="campaign_allowpings"/> <label for="campaign_allowpings"><?php echo __('Pingbacks y trackbacks.', WPeMatico::TEXTDOMAIN); ?> </label> <span class="mya4_sprite infoIco help_tip" title="<?php echo $helptip['allowpings']; ?> "></span> </p> <p> <label for="campaign_commentstatus"><?php echo __('Discussion options:', WPeMatico::TEXTDOMAIN); ?> </label> <select id="campaign_commentstatus" name="campaign_commentstatus"> <option value="open"<?php echo $campaign_commentstatus == "open" || $campaign_commentstatus == "" ? 'SELECTED' : ''; ?> >Open</option> <option value="closed" <?php echo $campaign_commentstatus == "closed" ? 'SELECTED' : ''; ?> >Closed</option> <option value="registered_only" <?php echo $campaign_commentstatus == "registered_only" ? 'SELECTED' : ''; ?> >Registered only</option> </select> <span class="mya4_sprite infoIco help_tip" title="<?php echo $helptip['commentstatus']; ?> "></span> </p> <p> <label for="campaign_author"><?php echo __('Author:', WPeMatico::TEXTDOMAIN); ?> </label> <?php wp_dropdown_users(array('name' => 'campaign_author', 'selected' => $campaign_author)); ?> <span class="mya4_sprite infoIco help_tip" title="<?php echo $helptip['postsauthor']; ?> "></span> </p> <?php if ($cfg['woutfilter']) { ?> <p> <input class="checkbox" value="1" type="checkbox" <?php checked($campaign_woutfilter, true); ?> name="campaign_woutfilter" id="campaign_woutfilter" /> <label for="campaign_woutfilter"><?php echo __('Post Content Unfiltered.', WPeMatico::TEXTDOMAIN); ?> </label><span class="mya4_sprite infoIco help_tip" title="<?php echo $helptip['woutfilter']; ?> "></span> </p> <?php } ?> </div> <?php $activated = $campaign_data['activated']; $cron = $campaign_data['cron']; ?> <div id="schedulelayer" class="ibfix vtop"> <p> <input class="checkbox" value="1" type="checkbox" <?php checked($activated, true); ?> name="activated" id="activated" /> <label for="activated"><?php _e('Activate scheduling', WPeMatico::TEXTDOMAIN); ?> </label><span class="mya4_sprite infoIco help_tip" title="<?php echo $helptip['schedule']; ?> "></span> </p> <?php _e('Working as <a href="http://wikipedia.org/wiki/Cron" target="_blank">Cron</a> job schedule:', WPeMatico::TEXTDOMAIN); echo ' <i>' . $cron . '</i><br />'; _e('Next runtime:', WPeMatico::TEXTDOMAIN); echo ' ' . date_i18n(get_option('date_format') . ' ' . get_option('time_format'), WPeMatico::time_cron_next($cron)); //_e('Next runtime:', WPeMatico :: TEXTDOMAIN ); echo ' '.date('D, M j Y H:i',WPeMatico :: time_cron_next($cron)); ?> <div id="cronboxes"> <?php @(list($cronstr['minutes'], $cronstr['hours'], $cronstr['mday'], $cronstr['mon'], $cronstr['wday']) = explode(' ', $cron, 5)); ?> <div> <b><?php _e('Minutes: ', 'wpematico'); ?> </b><br /> <?php if (strstr($cronstr['minutes'], '*/')) { $minutes = explode('/', $cronstr['minutes']); } else { $minutes = explode(',', $cronstr['minutes']); } ?> <select name="cronminutes[]" id="cronminutes" multiple="multiple"> <option value="*"<?php selected(in_array('*', $minutes, true), true, true); ?> ><?php _e('Any (*)', 'wpematico'); ?> </option> <?php for ($i = 0; $i < 60; $i = $i + 5) { echo "<option value=\"" . $i . "\"" . selected(in_array("{$i}", $minutes, true), true, false) . ">" . $i . "</option>"; } ?> </select> </div> <div> <b><?php _e('Hours:', 'wpematico'); ?> </b><br /> <?php if (strstr($cronstr['hours'], '*/')) { $hours = explode('/', $cronstr['hours']); } else { $hours = explode(',', $cronstr['hours']); } ?> <select name="cronhours[]" id="cronhours" multiple="multiple"> <option value="*"<?php selected(in_array('*', $hours, true), true, true); ?> ><?php _e('Any (*)', 'wpematico'); ?> </option> <?php for ($i = 0; $i < 24; $i++) { echo "<option value=\"" . $i . "\"" . selected(in_array("{$i}", $hours, true), true, false) . ">" . $i . "</option>"; } ?> </select> </div> <div> <b><?php _e('Days:', 'wpematico'); ?> </b><br /> <?php if (strstr($cronstr['mday'], '*/')) { $mday = explode('/', $cronstr['mday']); } else { $mday = explode(',', $cronstr['mday']); } ?> <select name="cronmday[]" id="cronmday" multiple="multiple"> <option value="*"<?php selected(in_array('*', $mday, true), true, true); ?> ><?php _e('Any (*)', 'wpematico'); ?> </option> <?php for ($i = 1; $i <= 31; $i++) { echo "<option value=\"" . $i . "\"" . selected(in_array("{$i}", $mday, true), true, false) . ">" . $i . "</option>"; } ?> </select> </div> <div> <b><?php _e('Months:', 'wpematico'); ?> </b><br /> <?php if (strstr($cronstr['mon'], '*/')) { $mon = explode('/', $cronstr['mon']); } else { $mon = explode(',', $cronstr['mon']); } ?> <select name="cronmon[]" id="cronmon" multiple="multiple"> <option value="*"<?php selected(in_array('*', $mon, true), true, true); ?> ><?php _e('Any (*)', 'wpematico'); ?> </option> <option value="1"<?php selected(in_array('1', $mon, true), true, true); ?> ><?php _e('January'); ?> </option> <option value="2"<?php selected(in_array('2', $mon, true), true, true); ?> ><?php _e('February'); ?> </option> <option value="3"<?php selected(in_array('3', $mon, true), true, true); ?> ><?php _e('March'); ?> </option> <option value="4"<?php selected(in_array('4', $mon, true), true, true); ?> ><?php _e('April'); ?> </option> <option value="5"<?php selected(in_array('5', $mon, true), true, true); ?> ><?php _e('May'); ?> </option> <option value="6"<?php selected(in_array('6', $mon, true), true, true); ?> ><?php _e('June'); ?> </option> <option value="7"<?php selected(in_array('7', $mon, true), true, true); ?> ><?php _e('July'); ?> </option> <option value="8"<?php selected(in_array('8', $mon, true), true, true); ?> ><?php _e('Augest'); ?> </option> <option value="9"<?php selected(in_array('9', $mon, true), true, true); ?> ><?php _e('September'); ?> </option> <option value="10"<?php selected(in_array('10', $mon, true), true, true); ?> ><?php _e('October'); ?> </option> <option value="11"<?php selected(in_array('11', $mon, true), true, true); ?> ><?php _e('November'); ?> </option> <option value="12"<?php selected(in_array('12', $mon, true), true, true); ?> ><?php _e('December'); ?> </option> </select> </div> <div> <b><?php _e('Weekday:', 'wpematico'); ?> </b><br /> <select name="cronwday[]" id="cronwday" multiple="multiple"> <?php if (strstr($cronstr['wday'], '*/')) { $wday = explode('/', $cronstr['wday']); } else { $wday = explode(',', $cronstr['wday']); } ?> <option value="*"<?php selected(in_array('*', $wday, true), true, true); ?> ><?php _e('Any (*)', 'wpematico'); ?> </option> <option value="0"<?php selected(in_array('0', $wday, true), true, true); ?> ><?php _e('Sunday'); ?> </option> <option value="1"<?php selected(in_array('1', $wday, true), true, true); ?> ><?php _e('Monday'); ?> </option> <option value="2"<?php selected(in_array('2', $wday, true), true, true); ?> ><?php _e('Tuesday'); ?> </option> <option value="3"<?php selected(in_array('3', $wday, true), true, true); ?> ><?php _e('Wednesday'); ?> </option> <option value="4"<?php selected(in_array('4', $wday, true), true, true); ?> ><?php _e('Thursday'); ?> </option> <option value="5"<?php selected(in_array('5', $wday, true), true, true); ?> ><?php _e('Friday'); ?> </option> <option value="6"<?php selected(in_array('6', $wday, true), true, true); ?> ><?php _e('Saturday'); ?> </option> </select> </div> <br class="clear" /> </div> </div> <?php }
/** * save campaign data * Required @param integer $post_id Campaign ID to load * @param boolean $getfromdb if set to true run get_post($post_ID) and retuirn object post * * @return an array with campaign data **/ public static function update_campaign($post_id, $campaign = array()) { $campaign['cronnextrun'] = (int) WPeMatico::time_cron_next($campaign['cron']); add_post_meta($post_id, 'postscount', $campaign['postscount'], true) or update_post_meta($post_id, 'postscount', $campaign['postscount']); add_post_meta($post_id, 'cronnextrun', $campaign['cronnextrun'], true) or update_post_meta($post_id, 'cronnextrun', $campaign['cronnextrun']); add_post_meta($post_id, 'lastrun', $campaign['lastrun'], true) or update_post_meta($post_id, 'lastrun', $campaign['lastrun']); return add_post_meta($post_id, 'campaign_data', $campaign, true) or update_post_meta($post_id, 'campaign_data', $campaign); }
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; }
/** * save campaign data * Required @param integer $post_id Campaign ID to load * @param boolean $getfromdb if set to true run get_post($post_ID) and retuirn object post * * @return an array with campaign data **/ public function update_campaign( $post_id , $campaign = array() ) { $campaign['cronnextrun']= WPeMatico :: time_cron_next($campaign['cron']); // *** Campaign Rewrites // Proceso los rewrites agrego slashes if (isset($campaign['campaign_rewrites']['origin'])) for ($i = 0; $i < count($campaign['campaign_rewrites']['origin']); $i++) { $campaign['campaign_rewrites']['origin'][$i] = addslashes($campaign['campaign_rewrites']['origin'][$i]); $campaign['campaign_rewrites']['rewrite'][$i] = addslashes($campaign['campaign_rewrites']['rewrite'][$i]); $campaign['campaign_rewrites']['relink'][$i] = addslashes($campaign['campaign_rewrites']['relink'][$i]); } if (isset($campaign['campaign_wrd2cat']['word'])) for ($i = 0; $i < count($campaign['campaign_wrd2cat']['word']); $i++) { $campaign['campaign_wrd2cat']['word'][$i] = addslashes($campaign['campaign_wrd2cat']['word'][$i]); } return add_post_meta( $post_id, 'campaign_data', $campaign, true ) or update_post_meta( $post_id, 'campaign_data', $campaign ); }