author | ymh <ymh.work@gmail.com> |
Fri, 06 Dec 2019 00:53:05 +0100 | |
changeset 3 | 5301eb6ce6e2 |
parent 0 | 505fe5249d9c |
permissions | -rw-r--r-- |
0
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
1 |
<?php |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
2 |
function sociable_html2($display=Array()) { |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
3 |
global $sociable_known_sites, $sociablepluginpath, $wp_query; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
4 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
5 |
$active_sites = get_option('sociable_active_sites'); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
6 |
$html = ""; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
7 |
$imagepath = $sociablepluginpath.'images/'; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
8 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
9 |
// if no sites are specified, display all active |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
10 |
// have to check $active_sites has content because WP |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
11 |
// won't save an empty array as an option |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
12 |
if (empty($display) and $active_sites) |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
13 |
$display = $active_sites; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
14 |
// if no sites are active, display nothing |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
15 |
if (empty($display)) |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
16 |
return ""; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
17 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
18 |
// Load the post's data |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
19 |
$blogname = urlencode(get_bloginfo('name')." ".get_bloginfo('description')); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
20 |
$post = $wp_query->post; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
21 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
22 |
$excerpt = $post->post_excerpt; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
23 |
if ($excerpt == "") { |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
24 |
$excerpt = urlencode(substr(strip_tags($post->post_content),0,250)); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
25 |
} |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
26 |
$excerpt = str_replace('+','%20',$excerpt); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
27 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
28 |
$permalink = urlencode(get_permalink($post->ID)); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
29 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
30 |
$title = urlencode($post->post_title); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
31 |
$title = str_replace('+','%20',$title); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
32 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
33 |
$rss = urlencode(get_bloginfo('ref_url')); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
34 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
35 |
$html .= "\n<span class=\"sociable\">\n"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
36 |
$html .= "<ul>\n"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
37 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
38 |
foreach($display as $sitename) { |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
39 |
// if they specify an unknown or inactive site, ignore it |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
40 |
if (!in_array($sitename, $active_sites)) |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
41 |
continue; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
42 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
43 |
$site = $sociable_known_sites[$sitename]; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
44 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
45 |
$url = $site['url']; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
46 |
$url = str_replace('PERMALINK', $permalink, $url); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
47 |
$url = str_replace('TITLE', $title, $url); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
48 |
$url = str_replace('RSS', $rss, $url); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
49 |
$url = str_replace('BLOGNAME', $blogname, $url); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
50 |
$url = str_replace('EXCERPT', $excerpt, $url); |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
51 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
52 |
if (isset($site['description']) && $site['description'] != "") { |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
53 |
$description = $site['description']; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
54 |
} else { |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
55 |
$description = $sitename; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
56 |
} |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
57 |
$link = "<li>"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
58 |
$link .= "<a rel=\"nofollow\""; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
59 |
if (get_option('sociable_usetargetblank')) { |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
60 |
$link .= " target=\"_blank\""; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
61 |
} |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
62 |
$link .= " href=\"$url\" title=\"$description\">"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
63 |
$link .= "<img src=\"$imagepath{$site['favicon']}\" title=\"$description\" alt=\"$description\" class=\"sociable-hovers"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
64 |
if ($site['class']) |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
65 |
$link .= " sociable_{$site['class']}"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
66 |
$link .= "\" />"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
67 |
$link .= "</a></li>"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
68 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
69 |
$html .= "\t".apply_filters('sociable_link',$link)."\n"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
70 |
} |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
71 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
72 |
$html .= "</ul>\n</span>\n"; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
73 |
|
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
74 |
return $html; |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
75 |
} |
505fe5249d9c
add foundations for pharmakon (bedrock + deploy)
ymh <ymh.work@gmail.com>
parents:
diff
changeset
|
76 |
?> |