/var/www/hkosl.com/aga/wp-content/plugins/jetpack/modules/publicize/enhanced-open-graph.php


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
<?php
if ( ! class_exists'Jetpack_Media_Summary' ) ) {
    if ( 
defined('IS_WPCOM') && IS_WPCOM ) {
        include 
WP_CONTENT_DIR '/lib/class.wpcom-media-summary.php';
    } else {
        
jetpack_require_lib'class.media-summary' );
    }
}

/**
 * Better OG Image Tags for Image Post Formats
 */
function enhanced_og_image$tags ) {
    if ( !
is_singular() || post_password_required() )
        return 
$tags;

    global 
$post;

    
// Always favor featured images.
    
if ( enhanced_og_has_featured_image$post->ID ) )
        return 
$tags;

    
$summary Jetpack_Media_Summary::get$post->ID );

    if ( 
'image' != $summary['type'] )
        return 
$tags;

    
$tags['og:image'] = $summary['image'];
    
$tags['og:image:secure_url'] = $summary['secure']['image'];

    return 
$tags;
}
add_filter'jetpack_open_graph_tags''enhanced_og_image' );

/**
 * Better OG Image Tags for Gallery Post Formats
 */
function enhanced_og_gallery$tags ) {
    if ( !
is_singular() || post_password_required() )
        return 
$tags;

    global 
$post;

    
// Always favor featured images.
    
if ( enhanced_og_has_featured_image$post->ID ) )
        return 
$tags;

    
$summary Jetpack_Media_Summary::get$post->ID );

    if ( 
'gallery' != $summary['type'] )
        return 
$tags;

    if( !isset( 
$summary['images'] ) || !is_array$summary['images'] ) || empty( $summary['images'] ) )
        return 
$tags;

    
$images $secures = array();
    foreach ( 
$summary['images'] as $i => $image ) {
        
$images[] = $image['url'];
        
$secures[] = $summary['secure']['images'][$i]['url'];
    }

    
$tags['og:image'] = $images;
    
$tags['og:image:secure_url'] = $secures;

    return 
$tags;
}
add_filter'jetpack_open_graph_tags''enhanced_og_gallery' );

/**
 * Allows VideoPress, YouTube, and Vimeo videos to play inline on Facebook
 */
function enhanced_og_video$tags ) {
    if ( !
is_singular() || post_password_required() )
        return 
$tags;

    global 
$post;

    
// Always favor featured images.
    
if ( enhanced_og_has_featured_image$post->ID ) )
        return 
$tags;

    
$summary Jetpack_Media_Summary::get$post->ID );

    if ( 
'video' != $summary['type'] ) {
        if ( 
$summary['count']['video'] > && $summary['count']['image'] < ) {
            
$tags['og:image']            = $summary['image'];
            
$tags['og:image:secure_url'] = $summary['secure']['image'];
        }
        return 
$tags;
    }

    
$tags['og:image']            = $summary['image'];
    
$tags['og:image:secure_url'] = $summary['secure']['image'];

    
// This should be html by default for youtube/vimeo, since we're linking to HTML pages.
    
$tags['og:video:type'] = isset( $summary['video_type'] ) ? $summary['video_type'] : 'text/html';

    
$video_url        $summary['video'];
    
$secure_video_url $summary['secure']['video'];

    if ( 
preg_match'/((youtube|vimeo)\.com|youtu.be)/'$video_url ) ) {
        if ( 
strstr$video_url'youtube' ) ) {
            
$id jetpack_get_youtube_id$video_url );
            
$video_url 'http://www.youtube.com/embed/' $id;
            
$secure_video_url 'https://www.youtube.com/embed/' $id;
        } else if ( 
strstr$video_url'vimeo' ) ) {
            
preg_match'|vimeo\.com/(\d+)/?$|i'$video_url$match );
            
$id = (int) $match[1];
            
$video_url 'http://vimeo.com/moogaloop.swf?clip_id=' $id;
            
$secure_video_url 'https://vimeo.com/moogaloop.swf?clip_id=' $id;
        }
    }

    
$tags['og:video']            = $video_url;
    
$tags['og:video:secure_url'] = $secure_video_url;

    if ( empty( 
$post->post_title ) )
        
$tags['og:title'] = sprintf__'Video on %s''jetpack' ), get_option'blogname' ) );

    return 
$tags;
}
add_filter'jetpack_open_graph_tags''enhanced_og_video' );

function 
enhanced_og_has_featured_image$post_id ) {
    
$featured Jetpack_PostImages::from_thumbnail$post_id200200 );
    if ( !empty( 
$featured ) && count$featured ) > )
        return 
true;
    return 
false;
}