Server IP : 162.0.217.223 / Your IP : 216.73.216.153 Web Server : LiteSpeed System : Linux premium269.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64 User : mypckeys ( 1539) PHP Version : 8.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/mypckeys/yeslicense.org/wp-content/plugins/squirrly-seo/models/ |
Upload File : |
<?php defined( 'ABSPATH' ) || die( 'Cheatin\' uh?' ); class SQ_Models_LiveAssistant { /** @var integer The current post ID */ private $post_id = 0; /** * Set current post id for Live Assistant * * @param integer $post_id * * @return void */ public function setPostId( $post_id ) { $this->post_id = $post_id; } /** * Load the JS for API * * @param $args * * @return array of handles */ public function loadMedia( $args = array() ) { $referer = ''; $handles = array(); $metas = json_decode( wp_json_encode( SQ_Classes_Helpers_Tools::getOption( 'sq_metas' ) ) ); //Set the current post if ( ! $this->post_id ) { global $post; if ( isset( $post->ID ) && $post->ID > 0 ) { $this->post_id = $post->ID; } } if ( $this->post_id ) { //Load Squirrly Live Assistant for Elementor builder if ( SQ_Classes_Helpers_Tools::getOption( 'sq_sla_frontend' ) ) { $referer = get_post_meta( $this->post_id, '_sq_sla', true ); } //load keyword from other plugins if not set if ( SQ_Classes_Helpers_Tools::getOption( 'sq_sla_otherkeywords' ) ) { add_filter( 'sq_keyword', array( $this, 'loadOtherKeywords' ) ); } } $sq_config = array( 'debug' => (bool) SQ_DEBUG, 'sq_version' => SQ_VERSION, 'token' => SQ_Classes_Helpers_Tools::getOption( 'sq_api' ), 'url_token' => ( SQ_Classes_Helpers_Tools::getOption( 'sq_cloud_connect' ) ? SQ_Classes_Helpers_Tools::getOption( 'sq_cloud_token' ) : false ), 'sq_apiurl' => _SQ_APIV2_URL_, 'ajaxurl' => esc_url( admin_url( 'admin-ajax.php' ) ), 'sq_nonce' => wp_create_nonce( _SQ_NONCE_ID_ ), 'user_url' => esc_url( apply_filters( 'sq_homeurl', get_bloginfo( 'url' ) ) ), 'language' => apply_filters( 'sq_language', get_bloginfo( 'language' ) ), 'referer' => esc_attr( $referer ), 'sq_keywordtag' => (int) SQ_Classes_Helpers_Tools::getOption( 'sq_keywordtag' ), 'sq_keyword_help' => (int) SQ_Classes_Helpers_Tools::getOption( 'sq_keyword_help' ), 'frontend_css' => esc_url( _SQ_ASSETS_URL_ . 'css/frontend' . ( SQ_DEBUG ? '' : '.min' ) . '.css' ), 'postID' => $this->post_id, '__date' => esc_html__( 'date', 'squirrly-seo' ), '__noconnection' => esc_html__( "To load the Live Assistant and optimize this page, click to connect to Squirrly Cloud.", 'squirrly-seo' ), '__saved' => esc_html__( 'Saved!', 'squirrly-seo' ), '__readit' => esc_html__( 'Read it!', 'squirrly-seo' ), '__insertit' => esc_html__( 'Insert it!', 'squirrly-seo' ), '__reference' => esc_html__( 'Reference', 'squirrly-seo' ), '__insertasbox' => esc_html__( 'Insert as box', 'squirrly-seo' ), '__addlink' => esc_html__( 'Insert Link', 'squirrly-seo' ), '__notrelevant' => esc_html__( 'Not relevant?', 'squirrly-seo' ), '__ajaxerror' => esc_html__( ':( An error occurred while processing your request. Please try again', 'squirrly-seo' ), '__searching' => esc_html__( 'Searching ... ', 'squirrly-seo' ), '__nofound' => esc_html__( 'No results found!', 'squirrly-seo' ), '__sq_photo_copyright' => esc_html__( '[ ATTRIBUTE: Please check: %s to find out how to attribute this image ]', 'squirrly-seo' ), '__has_attributes' => esc_html__( 'Has creative commons attributes', 'squirrly-seo' ), '__no_attributes' => esc_html__( 'No known copyright restrictions', 'squirrly-seo' ), '__subscription_expired' => esc_html__( 'Your Subscription has Expired', 'squirrly-seo' ), '__no_briefcase' => esc_html__( 'There are no keywords saved in briefcase yet', 'squirrly-seo' ), '__fulloptimized' => esc_html__( 'Congratulations! Your article is 100% optimized!', 'squirrly-seo' ), '__toomanytimes' => esc_html__( 'appears too many times. Try to remove %s of them', 'squirrly-seo' ), '__writemorewords' => esc_html__( 'write %s more words', 'squirrly-seo' ), '__morewordsafter' => esc_html__( 'Write more words after the %s keyword', 'squirrly-seo' ), '__orusesynonyms' => esc_html__( 'or use synonyms', 'squirrly-seo' ), '__addmorewords' => esc_html__( 'add %s more word(s)', 'squirrly-seo' ), '__removewords' => esc_html__( 'or remove %s word(s)', 'squirrly-seo' ), '__addmorekeywords' => esc_html__( 'add the selected keyword %s more time(s) ', 'squirrly-seo' ), '__addminimumwords' => esc_html__( 'write %s more words to start calculating', 'squirrly-seo' ), '__frontend_optimized' => esc_html__( 'Live Assistant was used to optimize this page with the Page Builder. Please go back and resume your optimization work there.', 'squirrly-seo' ), ); $sq_params = array( 'max_length_title' => (int) $metas->title_maxlength, 'max_length_description' => (int) $metas->description_maxlength, ); if ( is_rtl() ) { $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'sqbootstrap.rtl', $args ); $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'rtl', $args ); } else { $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'sqbootstrap', $args ); } $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'logo', $args ); $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'post', $args ); $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'fontawesome', $args ); $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'assistant/utils/mark' . ( SQ_DEBUG ? '' : '.min' ) . '.js', $args ); $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'assistant/utils/xregexp' . ( SQ_DEBUG ? '' : '.min' ) . '.js', $args ); $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'assistant/sq_briefcase' . ( SQ_DEBUG ? '' : '.min' ) . '.js', $args ); $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'assistant/sq_blockseo' . ( SQ_DEBUG ? '' : '.min' ) . '.js', $args ); $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'assistant/sq_blocksearch' . ( SQ_DEBUG ? '' : '.min' ) . '.js', $args ); if ( SQ_Classes_Helpers_Tools::getOption( 'sq_sla_type' ) <> 'integrated' ) { $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'assistant/sq_floating' . ( SQ_DEBUG ? '' : '.min' ) . '.js', $args ); } $handles['squirrly'] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'assistant/squirrly' . ( SQ_DEBUG ? '' : '.min' ) . '.js', $args ); wp_localize_script( $handles['squirrly'], '$sq_config', $sq_config ); wp_localize_script( $handles['squirrly'], '$sq_params', $sq_params ); return $handles; } /** * Load the keyword from other plugins if exists * * @param string $keyword Squirrly Live Assistant keyword * * @return false|mixed */ public function loadOtherKeywords( $keyword ) { //Check the focus Keyword from other plugins if ( $other_keywords = get_post_meta( $this->post_id, 'sq_keyword', true ) ) { //squirrly $keyword = $other_keywords; } if ( empty( $keyword ) && $other_keywords = get_post_meta( $this->post_id, '_sq_keywords', true ) ) { //squirrly if ( is_string( $other_keywords ) ){ $keywords = explode( ',', $other_keywords ); } if ( is_array($keywords) && ! empty( $keywords ) ) { $keywords = array_unique( $keywords ); $keyword = $keywords[0]; } } if ( empty( $keyword ) && $other_keywords = get_post_meta( $this->post_id, 'rank_math_focus_keyword', true ) ) { //rm if(is_string( $other_keywords )){ $other_keywords = explode( ',', $other_keywords ); } if ( is_array($other_keywords) && ! empty( $other_keywords ) ) { $keyword = current( $other_keywords ); } } if ( empty( $keyword ) && $other_keywords = get_post_meta( $this->post_id, '_yoast_wpseo_focuskw', true ) ) { //yoast if(is_string( $other_keywords )){ $other_keywords = explode( ',', $other_keywords ); } if ( is_array($other_keywords) && ! empty( $other_keywords ) ) { $keyword = current( $other_keywords ); } } if ( empty( $keyword ) && $other_keywords = get_post_meta( $this->post_id, '_aioseo_keywords', true ) ) { //aioseo if(is_string( $other_keywords )){ $other_keywords = explode( ',', $other_keywords ); } if ( is_array($other_keywords) && ! empty( $other_keywords ) ) { $keyword = current( $other_keywords ); } } if ( empty( $keyword ) && $other_keywords = get_post_meta( $this->post_id, '_seopress_analysis_target_kw', true ) ) { //seopress if(is_string( $other_keywords )){ $other_keywords = explode( ',', $other_keywords ); } if ( is_array($other_keywords) && ! empty( $other_keywords ) ) { $keyword = current( $other_keywords ); } } return $keyword; } /** * Load Squirrly Assistant in frontend * * @return array of handles */ public function loadBackend() { $args = array( 'dependencies' => array( 'jquery', 'jquery-ui-core', 'jquery-ui-draggable' ) ); return SQ_Classes_ObjController::getClass( 'SQ_Models_LiveAssistant' )->loadMedia( $args ); } /** * Load Squirrly Assistant in frontend * * @return false|array of handles */ public function loadFrontent() { //If squirrly should load on frontend if ( apply_filters( 'sq_load_frontend_sla', false ) ) { $handles = array(); //Set the current post if ( ! $this->post_id ) { global $post; if ( isset( $post->ID ) && $post->ID > 0 ) { $this->post_id = $post->ID; } } if ( $this->post_id ) { //get the post type of the current post $post_type = get_post_type( $this->post_id ); if ( SQ_Classes_ObjController::getClass( 'SQ_Models_Post' )->isSLAEnable( $post_type ) ) { //Load media in frontend $args = array( 'dependencies' => array( 'jquery', 'jquery-ui-core', 'jquery-ui-draggable' ) ); $handles = SQ_Classes_ObjController::getClass( 'SQ_Models_LiveAssistant' )->loadMedia( $args ); $handles[] = SQ_Classes_ObjController::getClass( 'SQ_Classes_DisplayController' )->loadMedia( 'assistant/sq_frontend' . ( SQ_DEBUG ? '' : '.min' ) . '.js', $args ); //Load the Frontend Assistant SQ_Classes_ObjController::getClass( 'SQ_Controllers_Post' )->show_view( 'Blocks/FrontendAssistant' ); } } return $handles; } return false; } }