Ejemplo n.º 1
0
 public static function the_content($content)
 {
     global $post;
     $medium_post = Medium_Post::get_by_wp_id($post->ID);
     if ($medium_post->id && $medium_post->cross_link) {
         $content = Medium_View::render("content-cross-linked", array("content" => $content, "medium_post" => $medium_post));
     }
     return $content;
 }
 public static function add_syn_plugins($urls)
 {
     $see_on = array();
     if (class_exists('Social')) {
         $see_on = array_merge($see_on, self::add_links_from_social());
     } elseif (defined('NextScripts_SNAP_Version')) {
         $see_on = array_merge($see_on, self::add_links_from_SNAP());
     }
     // Support for the Official Medium Plugin per request @chrisaldrich
     if (class_exists('Medium_Post')) {
         $medium_post = Medium_Post::get_by_wp_id(get_the_ID());
         $see_on[] = $medium_post->url;
     }
     return array_merge($see_on, $urls);
 }
 public static function the_content($content)
 {
     global $post;
     if (!is_single() || !is_main_query()) {
         return $content;
     }
     $medium_post = Medium_Post::get_by_wp_id($post->ID);
     if ($medium_post->id && $medium_post->cross_link) {
         // We cannot directly render here because the_content filters are also
         // executed for the_excerpt (!). Best solution is a shortcode that we
         // then render, as shortcodes are ignored by the_excerpt.
         // @see https://github.com/Medium/medium-wordpress-plugin/issues/32
         // @see https://github.com/Medium/medium-wordpress-plugin/issues/29
         $content .= '[medium_cross_link url="' . $medium_post->url . '"]';
     }
     return $content;
 }
 /**
  * Callback that renders the Cross-post meta box.
  */
 public static function meta_box_callback($post, $args)
 {
     global $current_user;
     $medium_logo_url = MEDIUM_PLUGIN_URL . 'i/logo.png';
     $medium_post = Medium_Post::get_by_wp_id($post->ID);
     $medium_user = Medium_User::get_by_wp_id($post->post_author);
     if ($medium_post->id) {
         // Already connected.
         if ($medium_user->id) {
             $medium_post->author_url = $medium_user->url;
             $medium_post->author_image_url = $medium_user->image_url;
         }
         Medium_View::render("form-post-box-linked", array("medium_post" => $medium_post, "medium_logo_url" => $medium_logo_url));
     } else {
         if ($medium_user->token && $medium_user->id) {
             // Can be connected.
             if (!$medium_post->license) {
                 $medium_post->license = $medium_user->default_license;
             }
             if (!$medium_post->status) {
                 $medium_post->status = $medium_user->default_status;
             }
             if (!$medium_post->cross_link) {
                 // Default to no cross-linking, per WordPress guidelines.
                 $medium_post->cross_link = $medium_user->default_cross_link;
             }
             $options_visibility_class = $medium_post->status == "none" ? "hidden" : "";
             Medium_View::render("form-post-box-actions", array("medium_post" => $medium_post, "medium_user" => $medium_user, "medium_logo_url" => $medium_logo_url, "medium_post_statuses" => self::_get_post_statuses(), "medium_post_licenses" => self::_get_post_licenses(), "medium_post_cross_link_options" => self::_get_post_cross_link_options(), "options_visibility_class" => $options_visibility_class));
         } else {
             // Needs token.
             Medium_View::render("form-post-box-actions-disabled", array("edit_profile_url" => get_edit_user_link($current_user->ID) . '#medium'));
         }
     }
 }
 /**
  * Callback that renders the Cross-post meta box.
  */
 public static function meta_box_callback($post, $args)
 {
     global $current_user;
     $medium_logo_url = MEDIUM_PLUGIN_URL . 'i/logo.png';
     $medium_post = Medium_Post::get_by_wp_id($post->ID);
     $medium_user = Medium_User::get_by_wp_id($post->post_author);
     if ($medium_post->id) {
         // Already connected.
         if ($medium_user->id) {
             $medium_post->author_url = $medium_user->url;
             $medium_post->author_image_url = $medium_user->image_url;
         }
         Medium_View::render("form-post-box-linked", array("medium_post" => $medium_post, "medium_logo_url" => $medium_logo_url));
     } else {
         if ($medium_user->token && $medium_user->id) {
             // Can be connected.
             if (!$medium_post->license) {
                 $medium_post->license = $medium_user->default_license;
             }
             if (!$medium_post->cross_link) {
                 // Default to no cross-linking, per WordPress guidelines.
                 $medium_post->cross_link = $medium_user->default_cross_link;
             }
             if (!$medium_post->follower_notification) {
                 // Default to notifying Medium followers.
                 $medium_post->follower_notification = $medium_user->default_follower_notification;
             }
             if (!$medium_post->publication_id) {
                 // Default to none.
                 $medium_post->publication_id = $medium_user->default_publication_id ? $medium_user->default_publication_id : NO_PUBLICATION;
             }
             $publication_options = self::_get_user_publication_options($medium_user);
             $publishable = $publication_options[$medium_post->publication_id]->publishable;
             if (!$medium_post->status) {
                 $medium_post->status = $medium_user->default_status;
             }
             if (($medium_post->status == "unlisted" || $medium_post->status == "public") && !$publishable) {
                 $medium_post->status = "draft";
             }
             $options_visibility_class = $medium_post->status == "none" ? "hidden" : "";
             Medium_View::render("form-post-box-actions", array("medium_post" => $medium_post, "medium_user" => $medium_user, "medium_logo_url" => $medium_logo_url, "medium_post_statuses" => self::_get_post_statuses(), "medium_post_licenses" => self::_get_post_licenses(), "medium_boolean_options" => self::_get_boolean_options(), "medium_publication_options" => $publication_options, "options_visibility_class" => $options_visibility_class, "default_publication_publishable" => $publishable));
         } else {
             // Needs token.
             Medium_View::render("form-post-box-actions-disabled", array("edit_profile_url" => get_edit_user_link($current_user->ID) . '#medium'));
         }
     }
 }