diff options
Diffstat (limited to 'plugins/jetpack/modules/shortlinks.php')
-rw-r--r-- | plugins/jetpack/modules/shortlinks.php | 136 |
1 files changed, 0 insertions, 136 deletions
diff --git a/plugins/jetpack/modules/shortlinks.php b/plugins/jetpack/modules/shortlinks.php deleted file mode 100644 index cd06f43d..00000000 --- a/plugins/jetpack/modules/shortlinks.php +++ /dev/null @@ -1,136 +0,0 @@ -<?php -/** - * Module Name: WP.me Shortlinks - * Module Description: Create short and simple links for all posts and pages. - * Sort Order: 8 - * First Introduced: 1.1 - * Requires Connection: Yes - * Auto Activate: Yes - * Module Tags: Social - * Feature: Writing - * Additional Search Queries: shortlinks, wp.me - */ - -add_filter( 'pre_get_shortlink', 'wpme_get_shortlink_handler', 1, 4 ); - -if ( !function_exists( 'wpme_dec2sixtwo' ) ) { - function wpme_dec2sixtwo( $num ) { - $index = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; - $out = ""; - - if ( $num < 0 ) { - $out = '-'; - $num = abs( $num ); - } - - for ( $t = floor( log10( $num ) / log10( 62 ) ); $t >= 0; $t-- ) { - $a = floor( $num / pow( 62, $t ) ); - $out = $out . substr( $index, $a, 1 ); - $num = $num - ( $a * pow( 62, $t ) ); - } - - return $out; - } -} - -function wpme_get_shortlink( $id = 0, $context = 'post', $allow_slugs = true ) { - global $wp_query; - - $blog_id = Jetpack_Options::get_option( 'id' ); - - if ( 'query' == $context ) { - if ( is_singular() ) { - $id = $wp_query->get_queried_object_id(); - $context = 'post'; - } elseif ( is_front_page() ) { - $context = 'blog'; - } else { - return ''; - } - } - - if ( 'blog' == $context ) { - if ( empty( $id ) ) - $id = $blog_id; - - return 'https://wp.me/' . wpme_dec2sixtwo( $id ); - } - - $post = get_post( $id ); - - if ( empty( $post ) ) - return ''; - - $post_id = $post->ID; - $type = ''; - - if ( $allow_slugs && 'publish' == $post->post_status && 'post' == $post->post_type && strlen( $post->post_name ) <= 8 && false === strpos( $post->post_name, '%' ) - && false === strpos( $post->post_name, '-' ) ) { - $id = $post->post_name; - $type = 's'; - } else { - $id = wpme_dec2sixtwo( $post_id ); - if ( 'page' == $post->post_type ) - $type = 'P'; - elseif ( 'post' == $post->post_type || post_type_supports( $post->post_type, 'shortlinks' ) ) - $type= 'p'; - elseif ( 'attachment' == $post->post_type ) - $type = 'a'; - } - - if ( empty( $type ) ) - return ''; - - return 'https://wp.me/' . $type . wpme_dec2sixtwo( $blog_id ) . '-' . $id; -} - -function wpme_get_shortlink_handler( $shortlink, $id, $context, $allow_slugs ) { - return wpme_get_shortlink( $id, $context, $allow_slugs ); -} - -/** - * Add Shortlinks to the REST API Post response. - * - * @since 6.9.0 - * - * @action rest_api_init - * @uses register_rest_field, wpme_rest_get_shortlink - */ -function wpme_rest_register_shortlinks() { - register_rest_field( - 'post', - 'jetpack_shortlink', - array( - 'get_callback' => 'wpme_rest_get_shortlink', - 'update_callback' => null, - 'schema' => null, - ) - ); -} - -/** - * Get the shortlink of a post. - * - * @since 6.9.0 - * - * @param array $object Details of current post. - * - * @uses wpme_get_shortlink - * - * @return string - */ -function wpme_rest_get_shortlink( $object ) { - return wpme_get_shortlink( $object['id'], array() ); -} - -// Add shortlinks to the REST API Post response. -add_action( 'rest_api_init', 'wpme_rest_register_shortlinks' ); - -/** - * Set the Shortlink Gutenberg extension as available. - */ -function wpme_set_extension_available() { - Jetpack_Gutenberg::set_extension_available( 'jetpack/shortlinks' ); -} - -add_action( 'init', 'wpme_set_extension_available' ); |