options = get_option("pw-mobile-app"); $this->accountOptions = get_option("androapp_account_settings"); $this->scriptsOptions = get_option("androapp_scripts_detected"); } function pwapp_post_transition($new_status, $old_status, $post) { if (($old_status != 'publish') && ($new_status == 'publish')) { // doing things. $this->schedule_push_notification($post); } } function schedule_push_notification_save(){ global $post; $this->schedule_push_notification($post); } function schedule_push_notification($post){ wp_schedule_single_event( time()+ 10*60 , 'send_push_notification_after_publish', array ($post->ID, $post->post_title, $this->accountOptions[GCM_API_KEY] , $this->accountOptions[NOTIFICATION_TYPE_KEY] )); } function send_push_notification_after_publish($post_id, $post_title, $google_api_key, $notification_type) { require_once PW_MOBILE_PATH.'gcm/send_message.php'; sendPushNotification(array("post_id" => $post_id, "title" => $post_title, "notification_type" => $notification_type), $google_api_key); } function removeShortcodes($shortcodes){ global $shortcode_tags; $shortCodesFunctionArray = array(); foreach($shortcodes as $shortcode){ if(!empty($shortcode_tags[$shortcode])){ $shortCodesFunctionArray[$shortcode] = $shortcode_tags[$shortcode]; unset($shortcode_tags[$shortcode]); } } return $shortCodesFunctionArray; } function addShortcodesBack($shortCodesFunctionArray){ global $shortcode_tags; foreach($shortCodesFunctionArray as $key => $shortcode){ $shortcode_tags[$key] = $shortcode; } } function getScripts(){ if(!empty($this->scriptsOptions) && !empty($this->options[pw_mobile_app_settings::$selectedScripts])){ $scripts = $this->scriptsOptions['scripts']; $selectedScripts = explode("\n", $this->options[pw_mobile_app_settings::$selectedScripts]); foreach($selectedScripts as $handle){ $handle = trim($handle); if($scripts[$handle]){ $out .= ""; } } } if(!empty($this->options[pw_mobile_app_settings::$postProcessedCss])){ $out .= ""; } return $out; } function pw_mobile_prepare_post($data, $post, $context) { $data['pwapp_feed_image_dimension_type'] = $this->options['image_dimension']; $share_text_fn = $this->options['share_function_name']; if($this->options['image_dimension'] != 'noimage'){ $data['pwapp_post_image'] = get_first_image($post['post_content']); } $preview = ""; if($this->options['excerpt_preference'] == 'seo_meta_desc'){ $wpseo_metadesc = get_post_meta($post['ID'], '_yoast_wpseo_metadesc', true); if(!empty($wpseo_metadesc)){ $preview = $wpseo_metadesc; } }else if($this->options['excerpt_preference'] == 'none'){ $preview = ""; }else{ $this->options['excerpt_preference'] = "excerpt"; $preview = $data['excerpt']; } $data['pwapp_excerpt'] = $preview; $postcontent = ""; if($this->options['post_content'] == 'preprocessed'){ $shortcodesToRemove = array('caption', 'wp_caption', 'gallery', 'playlist', 'audio','video'); $shortcodesArray = $this->removeShortcodes($shortcodesToRemove); $stripped_content = strip_shortcodes(wpautop($post['post_content'])); $this->addShortcodesBack($shortcodesArray); $postcontent = do_shortcode($stripped_content); }else if($this->options['post_content'] == 'postprocessed'){ $postcontent = $this->getScripts()."