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;
}
}
$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 '';
}
}
}