You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

124 lines
2.4 KiB

<?php
/**
* @package All-in-One-SEO-Pack
*/
/**
* Class aiosp_common
*
* These are commonly used functions that can be pulled from anywhere.
* (or in some cases they're functions waiting for a home)
*/
class aiosp_common {
/**
* aiosp_common constructor.
*
*/
function __construct() {
}
/**
* Clears WP Engine cache.
*/
static function clear_wpe_cache() {
if ( class_exists( 'WpeCommon' ) ) {
WpeCommon::purge_memcached();
WpeCommon::clear_maxcdn_cache();
WpeCommon::purge_varnish_cache();
}
}
/**
* @param null $p
*
* @return array|null|string|WP_Post
*/
static function get_blog_page( $p = null ) {
static $blog_page = '';
static $page_for_posts = '';
if ( null === $p ) {
global $post;
} else {
$post = $p;
}
if ( '' === $blog_page ) {
if ( '' === $page_for_posts ) {
$page_for_posts = get_option( 'page_for_posts' );
}
if ( $page_for_posts && is_home() && ( ! is_object( $post ) || ( $page_for_posts !== $post->ID ) ) ) {
$blog_page = get_post( $page_for_posts );
}
}
return $blog_page;
}
/**
* @param string $location
* @param string $title
* @param string $anchor
* @param string $target
* @param string $class
* @param string $id
*
* @return string
*/
static function get_upgrade_hyperlink( $location = '', $title = '', $anchor = '', $target = '', $class = '', $id = 'aio-pro-update' ) {
$affiliate_id = '';
//call during plugins_loaded
$affiliate_id = apply_filters( 'aiosp_aff_id', $affiliate_id );
//build URL
$url = 'https://semperplugins.com/all-in-one-seo-pack-pro-version/';
if ( $location ) {
$url .= '?loc=' . $location;
}
if ( $affiliate_id ) {
$url .= "?ap_id=$affiliate_id";
}
//build hyperlink
$hyperlink = '<a ';
if ( $target ) {
$hyperlink .= "target=\"$target\" ";
}
if ( $title ) {
$hyperlink .= "title=\"$title\" ";
}
if ( $id ) {
$hyperlink .= "id=\"$id\" ";
}
$hyperlink .= "href=\"$url\">$anchor</a>";
return $hyperlink;
}
/**
* Gets the upgrade to Pro version URL.
*/
static function get_upgrade_url() {
//put build URL stuff in here
}
/**
* Check whether a url is relative and if it is, make it absolute.
*
* @param string $url URL to check.
*
* @return string
*/
static function absolutize_url( $url ) {
if ( strpos( $url, 'http' ) !== 0 && strpos( $url, '//' ) !== 0 && $url != '/' ) {
$url = home_url( $url );
}
return $url;
}
}