Plugin Directory

Changeset 2396062


Ignore:
Timestamp:
10/08/2020 12:47:58 PM (5 years ago)
Author:
contentstudio
Message:

Meta Data Added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • contentstudio/trunk/contentstudio-plugin.php

    r2392209 r2396062  
    33Plugin Name: ContentStudio
    44Description: ContentStudio provides you with powerful blogging & social media tools to keep your audience hooked by streamlining the process for you to discover and share engaging content on multiple blogging & social media networks
    5 Version: 1.0.6
     5Version: 1.0.7
    66Author: ContentStudio
    77Author URI: http://contentstudio.io/
     
    3838
    3939        protected $assets = 'https://contentstudio.io/img';
     40
     41        private $version = "1.0.7";
    4042
    4143        protected $contentstudio_id = '';
     
    122124            add_action('init', [$this, 'cstu_is_installed']);
    123125            add_action('init', [$this, 'cstu_unset_token']);
    124 
     126            add_action('init', [$this, 'cstu_get_metadata']);
    125127            add_action('init', [$this, 'cstu_is_upload_dir_exists']);
    126128            add_action('wp_head', [$this, 'add_cstu_custom_stylesheet']);
     
    531533
    532534        /**
     535         * Gets blog meta data
     536         */
     537
     538        public function cstu_get_metadata()
     539        {
     540            if (isset($_REQUEST['cstu_get_metadata']) && ($_REQUEST['cstu_get_metadata'])) {
     541
     542                //$token = get_option('contentstudio_token');
     543
     544                $varsbloginfo                = array(
     545                    "name"                   => get_bloginfo( "name" ),
     546                    "description"            => get_bloginfo( "description" ),
     547                    "wpurl"                  => get_bloginfo( "wpurl" ),
     548                    "url"                    => get_bloginfo( "url" ),
     549                    "language"               => get_bloginfo( "language" ),
     550                    "charset"                => get_bloginfo( 'charset' ),
     551                    "version"                => get_bloginfo( "version" ),
     552                    "timezone_string"        => get_option( "timezone_string" ),
     553                    "gmt_offset"             => get_option( "gmt_offset" ),
     554                    "server_time"            => time(),
     555                    "server_date"            => date( 'c' ),
     556                    "token"                  => get_option('contentstudio_token'),
     557                    //"is_connected"           => $this->is_cstu_connected($token),
     558                    "plugin_version"         => $this->version,
     559                    "php_version"            => PHP_VERSION,
     560                    "php_disabled_fn"        => ini_get( 'disable_functions' ),
     561                    "php_disabled_cl"        => ini_get( 'disable_classes' ),
     562                    //"use_wp_json_encode"     => $this->use_wp_json_encode,
     563                    //"first_transport"        => $http->_get_first_available_transport( $this->api ),
     564                    // misc blog //
     565                    "site_url"               => get_option( 'siteurl' ),
     566                    "pingback_url"           => get_bloginfo( "pingback_url" ),
     567                    "rss2_url"               => get_bloginfo( "rss2_url" ),
     568                );
     569               
     570                $varsbloginfo["debug"] = array();
     571
     572                $theme                                         = wp_get_theme();
     573                $varsbloginfo["debug"]["theme"]                = array();
     574                $varsbloginfo["debug"]["theme"]["Name"]        = $theme->get( 'Name' );
     575                $varsbloginfo["debug"]["theme"]["ThemeURI"]    = $theme->get( 'ThemeURI' );
     576                $varsbloginfo["debug"]["theme"]["Description"] = $theme->get( 'Description' );
     577                $varsbloginfo["debug"]["theme"]["Author"]      = $theme->get( 'Author' );
     578                $varsbloginfo["debug"]["theme"]["AuthorURI"]   = $theme->get( 'AuthorURI' );
     579                $varsbloginfo["debug"]["theme"]["Version"]     = $theme->get( 'Version' );
     580                $varsbloginfo["debug"]["theme"]["Template"]    = $theme->get( 'Template' );
     581                $varsbloginfo["debug"]["theme"]["Status"]      = $theme->get( 'Status' );
     582                $varsbloginfo["debug"]["theme"]["Tags"]        = $theme->get( 'Tags' );
     583                $varsbloginfo["debug"]["theme"]["TextDomain"]  = $theme->get( 'TextDomain' );
     584                $varsbloginfo["debug"]["theme"]["DomainPath"]  = $theme->get( 'DomainPath' );
     585
     586                echo json_encode([
     587                    'status' => true,
     588                    'message' => 'Meta Data Of Blog',
     589                    'usermetadeata' => $varsbloginfo,
     590                ]);
     591                die();
     592            }
     593        }
     594
     595        /**
    533596         * Get a list of blog authors
    534597         */
     
    637700        public function cstu_create_new_post()
    638701        {
     702            $varsbloginfo = "";
    639703            if (isset($_REQUEST) && isset($_REQUEST['cstu_create_new_post']) && isset($_REQUEST['token'])) {
    640704
     
    735799                        $checker = $_REQUEST['post']['featured_image'];
    736800                        //error_log( print_r( $checker, true ) );
     801                        $status_code = wp_remote_get($_REQUEST['post']['featured_image'])['response']['code'];
     802
     803                        // if the status is valid process for upload.
     804
     805                        if ($status_code == 301 || $status_code == 200) {
     806                            $img = $this->cstu_generate_image($_REQUEST['post']['featured_image'], $post);
     807                            if ($img['status']) {
     808                                echo json_encode([
     809                                    'status' => true,
     810                                    'post_id' => $get_post->ID,
     811                                    'link' => get_permalink($get_post->ID),
     812                                   
     813                                ]);
     814                                die();
     815                            } else {
     816                                echo json_encode([
     817                                    'status' => false,
     818                                    'warning_message' => $img['message'],
     819                                    'post_id' => $get_post->ID,
     820                                    'link' => get_permalink($get_post->ID),
     821                                ]);
     822                                die();
     823                            }
     824                        } else {
     825                            echo json_encode([
     826                                'status' => false,
     827                                'warning_message' => 'Post featured image seems to be down. Image HTTP status code is '.$status_code,
     828                                'post_id' => $get_post->ID,
     829                                'link' => get_permalink($get_post->ID)//get_post_permalink($get_post->ID),
     830                            ]);
     831                            die();
     832                        }
     833                    } else {
     834                        echo json_encode([
     835                            'status' => true,
     836                            'post_id' => $get_post->ID,
     837                            'link' => get_permalink($get_post->ID),
     838                        ]); // get_post_permalink($get_post->ID)
     839                        die();
     840                    }
     841                } else {
     842                    echo json_encode([
     843                        'status' => false,
     844                        'message' => self::INVALID_MESSAGE_POST_API,
     845                    ]);
     846                    die();
     847                }
     848            }
     849            /*else {
     850                echo json_encode(['status' => false, 'message' => "error"]);
     851                die();
     852            }*/
     853        }
     854
     855
     856        /**
     857         * Updates an existing WordPress post, action is called from the REMOTE ContentStudio Server.
     858         *
     859         */
     860        public function cstu_update_post()
     861        {
     862            if (isset($_REQUEST) && isset($_REQUEST['cstu_update_post']) && isset($_REQUEST['token'])) {
     863
     864                // validate the token
     865
     866                $valid = $this->do_validate_cstu_token($_REQUEST['token']);
     867                if ($valid) {
     868
     869                    // request post title is available
     870
     871                    // if (isset($_REQUEST['post'])) {
     872                    //     $post_title = wp_strip_all_tags($_REQUEST['post']['post_title']);
     873                    //     // check for the post title and make sure it does not exists.
     874
     875                    //     if (isset($post_title) && $post_title) {
     876                    //         global $wpdb;
     877                    //         $post_title = wp_strip_all_tags($post_title);
     878                    //         $sql = $wpdb->prepare("select ID from ".$wpdb->posts." where post_title='%s' AND  post_status = 'publish'", $post_title);
     879                    //         $get_posts_list = $wpdb->get_results($sql);
     880                    //         if (count($get_posts_list)) {
     881                    //             $cstu_post_update = get_page_by_title( $post_title, '', 'post' );
     882                    //             $getid = 0;
     883                    //             $getid = $cstu_post_update->ID;
     884                    //             echo json_encode([
     885                    //                 'status' => false,
     886                    //                 'message' => "Post already exists on your blog with title '$getid'.",
     887                    //             ]);
     888                    //             die();
     889                    //         }
     890                    //     }
     891                    // }
     892
     893                    // get list of categories
     894
     895                    $categories = explode(',', sanitize_text_field($_REQUEST['post']['post_category']));
     896
     897                    $this->kses_remove_filters();
     898                    $post_id = 0;
     899                    if (isset($_REQUEST['post']['post_id']) && $_REQUEST['post']['post_id']) {
     900                        $post_id = (int) sanitize_text_field($_REQUEST['post']['post_id']);
     901                    }
     902
     903                    // update the post
     904
     905                    $post_author = sanitize_text_field($_REQUEST['post']['post_author']);
     906                    $post_content = $_REQUEST['post']['post_content'];
     907                    $post_status = sanitize_text_field($_REQUEST['post']['post_status']);
     908
     909                    // sanitize title per https://codex.wordpress.org/Function_Reference/wp_insert_post#Security //
     910
     911                    $post = wp_update_post([
     912                        'ID' => $post_id,
     913                        'post_title' => $_REQUEST['post']['post_title'],
     914                        'post_author' => $post_author,
     915                        'post_content' => $post_content,
     916                        'post_status' => $post_status,
     917                        'post_category' => $categories,
     918                    ]);
     919
     920                    if (! $post or $post == 0) {
     921                        $post = wp_update_post([
     922                            'post_title' => $_REQUEST['post']['post_title'],
     923                            'post_author' => $post_author,
     924                            'post_content' => $post_content,
     925                            'post_status' => $post_status,
     926                            'post_category' => $categories,
     927                        ]);
     928                        global $wpdb;
     929                        $wpdb->update($wpdb->posts, ['post_title' => wp_strip_all_tags((string) $post_title)], ['ID' => $post]);
     930                        // slug scenario
     931                    }
     932
     933                    // get post
     934
     935                    $get_post = get_post($post);
     936
     937                    // set the tags
     938
     939                    if (isset($_REQUEST['post']['terms'])) {
     940                        $this->cstu_set_tags($get_post);
     941                    }
     942
     943                    // download the image to the user server.
     944
     945                    if ($post && $post > 0) {
     946                        $this->cstu_download_images($post);
     947                    }
     948
     949                    // seo settings
     950
     951                    $this->set_cstu_metadata_post($get_post);
     952                    $this->set_cstu_yoast_settinsg($get_post);
     953                    $this->set_cstu_all_in_one_seo($get_post);
     954
     955                    // reload the post again to get the latest url.
     956
     957                    if (isset($_REQUEST['post']['featured_image']) && $_REQUEST['post']['featured_image']) {
     958                        // perform http request to see the status code of the image.
    737959                        $status_code = wp_remote_get($_REQUEST['post']['featured_image'])['response']['code'];
    738960
     
    7881010        }
    7891011
    790 
    791         /**
    792          * Updates an existing WordPress post, action is called from the REMOTE ContentStudio Server.
    793          *
    794          */
    795         public function cstu_update_post()
    796         {
    797             if (isset($_REQUEST) && isset($_REQUEST['cstu_update_post']) && isset($_REQUEST['token'])) {
    798 
    799                 // validate the token
    800 
    801                 $valid = $this->do_validate_cstu_token($_REQUEST['token']);
    802                 if ($valid) {
    803 
    804                     // request post title is available
    805 
    806                     // if (isset($_REQUEST['post'])) {
    807                     //     $post_title = wp_strip_all_tags($_REQUEST['post']['post_title']);
    808                     //     // check for the post title and make sure it does not exists.
    809 
    810                     //     if (isset($post_title) && $post_title) {
    811                     //         global $wpdb;
    812                     //         $post_title = wp_strip_all_tags($post_title);
    813                     //         $sql = $wpdb->prepare("select ID from ".$wpdb->posts." where post_title='%s' AND  post_status = 'publish'", $post_title);
    814                     //         $get_posts_list = $wpdb->get_results($sql);
    815                     //         if (count($get_posts_list)) {
    816                     //             $cstu_post_update = get_page_by_title( $post_title, '', 'post' );
    817                     //             $getid = 0;
    818                     //             $getid = $cstu_post_update->ID;
    819                     //             echo json_encode([
    820                     //                 'status' => false,
    821                     //                 'message' => "Post already exists on your blog with title '$getid'.",
    822                     //             ]);
    823                     //             die();
    824                     //         }
    825                     //     }
    826                     // }
    827 
    828                     // get list of categories
    829 
    830                     $categories = explode(',', sanitize_text_field($_REQUEST['post']['post_category']));
    831 
    832                     $this->kses_remove_filters();
    833                     $post_id = 0;
    834                     if (isset($_REQUEST['post']['post_id']) && $_REQUEST['post']['post_id']) {
    835                         $post_id = (int) sanitize_text_field($_REQUEST['post']['post_id']);
    836                     }
    837 
    838                     // update the post
    839 
    840                     $post_author = sanitize_text_field($_REQUEST['post']['post_author']);
    841                     $post_content = $_REQUEST['post']['post_content'];
    842                     $post_status = sanitize_text_field($_REQUEST['post']['post_status']);
    843 
    844                     // sanitize title per https://codex.wordpress.org/Function_Reference/wp_insert_post#Security //
    845 
    846                     $post = wp_update_post([
    847                         'ID' => $post_id,
    848                         'post_title' => $_REQUEST['post']['post_title'],
    849                         'post_author' => $post_author,
    850                         'post_content' => $post_content,
    851                         'post_status' => $post_status,
    852                         'post_category' => $categories,
    853                     ]);
    854 
    855                     if (! $post or $post == 0) {
    856                         $post = wp_update_post([
    857                             'post_title' => $_REQUEST['post']['post_title'],
    858                             'post_author' => $post_author,
    859                             'post_content' => $post_content,
    860                             'post_status' => $post_status,
    861                             'post_category' => $categories,
    862                         ]);
    863                         global $wpdb;
    864                         $wpdb->update($wpdb->posts, ['post_title' => wp_strip_all_tags((string) $post_title)], ['ID' => $post]);
    865                         // slug scenario
    866                     }
    867 
    868                     // get post
    869 
    870                     $get_post = get_post($post);
    871 
    872                     // set the tags
    873 
    874                     if (isset($_REQUEST['post']['terms'])) {
    875                         $this->cstu_set_tags($get_post);
    876                     }
    877 
    878                     // download the image to the user server.
    879 
    880                     if ($post && $post > 0) {
    881                         $this->cstu_download_images($post);
    882                     }
    883 
    884                     // seo settings
    885 
    886                     $this->set_cstu_metadata_post($get_post);
    887                     $this->set_cstu_yoast_settinsg($get_post);
    888                     $this->set_cstu_all_in_one_seo($get_post);
    889 
    890                     // reload the post again to get the latest url.
    891 
    892                     if (isset($_REQUEST['post']['featured_image']) && $_REQUEST['post']['featured_image']) {
    893                         // perform http request to see the status code of the image.
    894                         $status_code = wp_remote_get($_REQUEST['post']['featured_image'])['response']['code'];
    895 
    896                         // if the status is valid process for upload.
    897 
    898                         if ($status_code == 301 || $status_code == 200) {
    899                             $img = $this->cstu_generate_image($_REQUEST['post']['featured_image'], $post);
    900                             if ($img['status']) {
    901                                 echo json_encode([
    902                                     'status' => true,
    903                                     'post_id' => $get_post->ID,
    904                                     'link' => get_permalink($get_post->ID),
    905                                 ]);
    906                                 die();
    907                             } else {
    908                                 echo json_encode([
    909                                     'status' => false,
    910                                     'warning_message' => $img['message'],
    911                                     'post_id' => $get_post->ID,
    912                                     'link' => get_permalink($get_post->ID),
    913                                 ]);
    914                                 die();
    915                             }
    916                         } else {
    917                             echo json_encode([
    918                                 'status' => false,
    919                                 'warning_message' => 'Post featured image seems to be down. Image HTTP status code is '.$status_code,
    920                                 'post_id' => $get_post->ID,
    921                                 'link' => get_permalink($get_post->ID)//get_post_permalink($get_post->ID),
    922                             ]);
    923                             die();
    924                         }
    925                     } else {
    926                         echo json_encode([
    927                             'status' => true,
    928                             'post_id' => $get_post->ID,
    929                             'link' => get_permalink($get_post->ID),
    930                         ]); // get_post_permalink($get_post->ID)
    931                         die();
    932                     }
    933                 } else {
    934                     echo json_encode([
    935                         'status' => false,
    936                         'message' => self::INVALID_MESSAGE_POST_API,
    937                     ]);
    938                     die();
    939                 }
    940             }
    941             /*else {
    942                 echo json_encode(['status' => false, 'message' => "error"]);
    943                 die();
    944             }*/
    945         }
    946 
    9471012        /**
    9481013         * Set the meta description so that when we publish our content, we show that to the end-user instead of our personal one.
     
    10011066        public function set_cstu_yoast_settinsg($post)
    10021067        {
    1003             //if ($this->is_yoast_active()) {
     1068            if ($this->is_yoast_active()) {
    10041069                global $wpdb;
    10051070                $sql = $wpdb->prepare("select object_id from ".$wpdb->prefix."yoast_seo_meta where object_id='%d'", $post->ID);
     
    10151080                    "post_id" => $post->ID,
    10161081                    "meta_key" => "_yoast_wpseo_title",
    1017                     "meta_value" => $_REQUEST['post']['post_meta_title'],
     1082                    "meta_value" => sanitize_text_field($_REQUEST['post']['post_meta_title']),
    10181083                ]);
    10191084                $wpdb->insert($wpdb->postmeta, [
    10201085                    "post_id" => $post->ID,
    10211086                    "meta_key" => "_yoast_wpseo_metadesc",
    1022                     "meta_value" => $_REQUEST['post']['post_meta_description'],
     1087                    "meta_value" => sanitize_text_field($_REQUEST['post']['post_meta_description']),
    10231088                ]);
    1024             //}
     1089            }
    10251090        }
    10261091
Note: See TracChangeset for help on using the changeset viewer.