options = get_option("pw-mobile-app"); $this->accountOptions = get_option("androapp_account_settings"); $this->scriptsOptions = get_option("androapp_scripts_detected"); $this->buildOptions = get_option("pw-mobile-build-options"); } // Add checkboxes function androapp_notification_settings() { global $post; $dont_send_push_notification = (get_post_meta($post->ID, "androapp_post_notify", true) ? ' checked' : ''); ?>
/>
ID, "androapp_post_notify", $_POST["androapp_post_notify"]); if (($old_status != 'publish') && ($new_status == 'publish') && ($post->post_type == "post" || $post->post_type == "page")){ $dont_send_push_notification = get_post_meta($post->ID, "androapp_post_notify", true); if(empty($dont_send_push_notification)) { $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 getShareText($post, $data, $key){ if($key == "TITLE"){ return $data['title']; } else if($key == "EXCERPT"){ return strip_tags($data['excerpt']); } else if($key == "SEO"){ $wpseo_metadesc = get_post_meta($post['ID'], '_yoast_wpseo_metadesc', true); if(!empty($wpseo_metadesc)){ return $wpseo_metadesc; } return $data['title']; }else if($key == "FULL"){ return wpautop($post['post_content']); } return ""; } function pw_mobile_prepare_post($data, $post, $context) { if(!($data['type'] == "post" || $data['type'] == "page")){ return $data; } $data['pwapp_feed_image_dimension_type'] = $this->options['image_dimension']; $share_text_fn = $this->options['share_function_name']; $firstImage = null; if(has_post_thumbnail( $post['ID'] )){ $imagesize = 'full'; if($this->buildOptions['androapp_theme'] == 'compact'){ $imagesize = 'thumbnail'; } $attch = wp_get_attachment_image_src( get_post_thumbnail_id( $post['ID'] ), $imagesize); if(is_array($attch) && count($attch) > 0){ $firstImage = $attch[0]; $data['featuredimage'] = $attch[0]; } } if(empty($firstImage)){ if(empty($this->options[pw_mobile_app_settings::$useOnlyFeaturedImage]) || $this->options[pw_mobile_app_settings::$useOnlyFeaturedImage] != 1){ $firstImage = get_first_image($post['post_content']); } } if($this->options['image_dimension'] != 'noimage'){ $data['pwapp_post_image'] = $firstImage; } if($this->options['share_image_preference'] != 'noimage'){ $data['share_image'] = $firstImage; } $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()."
".$data['content']."
"; } $data['pwapp_post_content'] = $postcontent; $data['pwapp_post_content_type'] = $this->options['post_content']; $data['pwapp_preview_type'] = $this->options['excerpt_preference']; $data['share_text'] = ""; if(!empty($share_text_fn) && function_exists($share_text_fn) ){ $data['share_text'] = $share_text_fn($post, $data['link']); } if(empty($data['share_text'])){ if(empty($data['share_image'])){ $data['share_text'] = $this->getShareText($post, $data, $this->options[pw_mobile_app_settings::$sharePreference]); }else{ $data['share_text'] = $this->getShareText($post, $data, $this->options[pw_mobile_app_settings::$shareTextWithImage]); } if(!empty($this->options[pw_mobile_app_settings::$shareSuffixText])){ $data['share_text'] .= "\n".$this->options[pw_mobile_app_settings::$shareSuffixText]; } if($this->options[pw_mobile_app_settings::$shareSuffixLink] == "HOME"){ $data['share_text'] .= " ".get_bloginfo('url'); } else if($this->options[pw_mobile_app_settings::$shareSuffixLink] == "POST"){ $data['share_text'] .= " ". $data['link']; } }else{ if($this->options[pw_mobile_app_settings::$shareImageWithCustomFunction] == "1"){ $data['share_image'] = null; } } if($this->options[pw_mobile_app_settings::$showCommentsCount] == "1" && $this->options[pw_mobile_app_settings::$commentsProvider] == "wordpress"){ $comments_count = wp_count_comments( $post['ID']); $data['androapp_comments_count'] = $comments_count->approved; } $data['supercache'] = "androappsupercache"; return $data; } function myplugin_api_init( $server ) { global $myplugin_api_mytype; require_once dirname( __FILE__ ) . '/class-pw-wp-menu.php'; $myplugin_api_mytype = new Pw_Wp_Menu( $server ); add_filter( 'json_endpoints', array( $myplugin_api_mytype, 'register_routes'), 0); require_once dirname( __FILE__ ) . '/class-pw-wp-posts.php'; $pwapp_posts = new Pw_Wp_Posts( $server ); add_filter( 'json_endpoints', array( $pwapp_posts, 'register_routes'), 0); require_once dirname( __FILE__ ) . '/class-pw-wp-gcm-register.php'; $pwapp_gcm = new Pw_Wp_Gcm_Register( $server ); add_filter( 'json_endpoints', array( $pwapp_gcm, 'register_routes'), 0); } function add_css_bottom() { if(isAndroAppRequest()) { echo ''; } } }