wp/wp-content/plugins/option-tree/includes/class-ot-post-formats.php
changeset 11 bf1778c34b9a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wp/wp-content/plugins/option-tree/includes/class-ot-post-formats.php	Mon Oct 14 18:35:50 2019 +0200
@@ -0,0 +1,122 @@
+<?php
+/**
+ * OptionTree Post Formats.
+ *
+ * @package OptionTree
+ */
+
+if ( ! defined( 'OT_VERSION' ) ) {
+	exit( 'No direct script access allowed' );
+}
+
+if ( ! class_exists( 'OT_Post_Formats' ) ) {
+
+	/**
+	 * OptionTree Post Formats class.
+	 *
+	 * This class loads all the methods and helpers specific to build a the post format metaboxes.
+	 */
+	class OT_Post_Formats {
+
+		/**
+		 * Class Constructor
+		 *
+		 * @access    public
+		 * @since     2.3.0
+		 */
+		public function __construct() {
+			$this->setup_actions();
+		}
+
+		/**
+		 * Setup the default filters and actions.
+		 *
+		 * @uses add_action() To add various actions.
+		 * @uses add_filter() To add various filters.
+		 *
+		 * @access private
+		 * @since  2.3.0
+		 */
+		private function setup_actions() {
+
+			// Initialize the meta boxes.
+			add_action( 'admin_init', array( $this, 'meta_boxes' ), 2 );
+
+			// Setup pings for the link & quote URLs.
+			add_filter( 'pre_ping', array( $this, 'pre_ping_post_links' ), 10, 3 );
+		}
+
+		/**
+		 * Builds the default Meta Boxes.
+		 *
+		 * @access private
+		 * @since  2.3.0
+		 */
+		public function meta_boxes() {
+
+			// Exit if called outside of WP admin.
+			if ( ! is_admin() ) {
+				return false;
+			}
+
+			/**
+			 * Filter the post formats meta boxes.
+			 *
+			 * @since 2.6.0
+			 *
+			 * @param array $meta_boxes The meta boxes being registered.
+			 * @return array
+			 */
+			$meta_boxes = apply_filters(
+				'ot_recognized_post_format_meta_boxes',
+				array(
+					ot_meta_box_post_format_gallery(),
+					ot_meta_box_post_format_link(),
+					ot_meta_box_post_format_quote(),
+					ot_meta_box_post_format_video(),
+					ot_meta_box_post_format_audio(),
+				)
+			);
+
+			/**
+			 * Register our meta boxes using the
+			 * ot_register_meta_box() function.
+			 */
+			foreach ( $meta_boxes as $meta_box ) {
+				ot_register_meta_box( $meta_box );
+			}
+		}
+
+		/**
+		 * Setup pings for the link & quote URLs
+		 *
+		 * @access public
+		 * @since  2.3.0
+		 *
+		 * @param  array $post_links The URLs to ping.
+		 * @param  array $pung Pinged URLs.
+		 * @param  int   $post_id Post ID.
+		 */
+		public function pre_ping_post_links( $post_links, $pung, $post_id = null ) {
+
+			$_link = get_post_meta( $post_id, '_format_link_url', true );
+			if ( ! empty( $_link ) && ! in_array( $_link, $pung, true ) && ! in_array( $_link, $post_links, true ) ) {
+				$post_links[] = $_link;
+			}
+
+			$_quote = get_post_meta( $post_id, '_format_quote_source_url', true );
+			if ( ! empty( $_quote ) && ! in_array( $_quote, $pung, true ) && ! in_array( $_quote, $post_links, true ) ) {
+				$post_links[] = $_quote;
+			}
+		}
+	}
+}
+
+/**
+ * Instantiate The Class.
+ *
+ * @since 1.0
+ */
+if ( function_exists( 'ot_register_meta_box' ) ) {
+	new OT_Post_Formats();
+}