Hallo,
Versuche seit einiger Zeit ein Social Share Script zu schreiben. Jedoch sind mir einige Fehler unterlaufen die ich nicht beseitigen kann. Ich würde mich sehr freuen falls jemand mir dabei behilflich sein könnte.
Hab hin und her umgeändert aber bekomme die Ausgabe nicht. Die Ausgabe sollte aus einzelnen Arrays sein. Also jedes Button einzeln aufrufen.
Mit error_reporting gibt es keine Fehler.
Ich würde mich sehr freuen falls jemand Zeit hätte es sich durchzuschauen und gegeben falls meine Fehler mitzuteilen. Danke
Versuche seit einiger Zeit ein Social Share Script zu schreiben. Jedoch sind mir einige Fehler unterlaufen die ich nicht beseitigen kann. Ich würde mich sehr freuen falls jemand mir dabei behilflich sein könnte.
Hab hin und her umgeändert aber bekomme die Ausgabe nicht. Die Ausgabe sollte aus einzelnen Arrays sein. Also jedes Button einzeln aufrufen.
Mit error_reporting gibt es keine Fehler.
PHP-Code:
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
$url = curPageURL();
$finfo = json_decode(file_get_contents('http://api.ak.facebook.com/restserver.php?v=1.0&method=links.getStats&urls='.$url.'&format=json'));
$tinfo = json_decode(file_get_contents('http://urls.api.twitter.com/1/urls/count.json?url='.$url));
$pinfo = json_decode(preg_replace('/^receiveCount\((.*)\)$/', "\\1",file_get_contents('http://api.pinterest.com/v1/urls/count.json?callback=receiveCount&url='.$url)));
$gplus = gplus_shares($url);
function gplus_shares($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://clients6.google.com/rpc");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, '[{"method":"pos.plusones.get","id":"p",
"params":{"nolog":true,"id":"' . $url . '","source":"widget","userId":"@viewer","groupId":"@self"},
"jsonrpc":"2.0","key":"p","apiVersion":"v1"}]');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-type: application/json'));
$result = curl_exec ($ch);
curl_close ($ch);
return json_decode($result, true);
}
$output = array(
'facebook'=> isset($finfo[0]) ? $finfo[0]->total_count : NULL,
'twitter'=> isset($tinfo->count) ? $tinfo->count : NULL,
'pinterest'=> isset($pinfo->count) ? $pinfo->count : NULL,
'googlePlus'=> isset($gplus[0]['result']) ? $gplus[0]['result']['metadata']['globalCounts']['count'] : NULL
);
function getSocialCount($output){
return json_encode($output[facebook]) + json_encode($output[twitter]) + json_encode($output[pinterest]) + json_encode($output[googlePlus]);
}
function simple_social_sharing( $attr_twitter = null, $attr_items = null ) {
// parse variables
$twitter_account = $attr_twitter;
$item_toggles = $attr_items;
$res = file_get_contents($url);
preg_match("~<title>(.*?)</title>~", $res, $match);
$page_title_encoded= $match[1];
$shorturl = file_get_contents('http://bit.ly/shorter/api.php?url=' . urlencode($page_url_encoded));
// create share items array
$share_items = array ();
// set each item
$item_facebook = array(
"class" => "facebook",
"href" => "http://www.facebook.com/sharer.php?u={$shorturl}&text={$page_title_encoded}",
"text" => "Facebook"
);
$item_twitter = array(
"class" => "twitter",
"href" => "http://twitter.com/share?text={$page_title_encoded}&url={$shorturl}&via={$twitter_account}",
"text" => "Twitter"
);
$item_google = array(
"class" => "google",
"href" => "http://plus.google.com/share?url={$shorturl}",
"text" => "Google"
);
// test whether to display each item
if($item_toggles) {
// explode into array
$item_toggles_array = explode( ",", $item_toggles );
// set each item on or off
$show_facebook = $item_toggles_array['0'];
$show_twitter = $item_toggles_array['1'];
$show_google = $item_toggles_array['2'];
}
else {
$display_all_items = 1;
}
// form array of items set to 1
if( $show_facebook==1 || $display_all_items ) {
array_push( $share_items, $item_facebook );
}
if( $show_twitter==1 || $display_all_items) {
array_push( $share_items, $item_twitter );
}
if( $show_google==1 || $display_all_items) {
array_push( $share_items, $item_google );
}
// if one or more items
if ( ! empty( $share_items ) ) {
// create output
$share_output = "";
foreach ( $share_items as $share_item ) {
$share_output .= "<a class=\"ss-share-link social-{$share_item['class']}\" href=\"{$share_item["href"]}\" rel=\"nofollow\" target=\"_blank\">{$share_item['text']}{$count} </a>";
}
$share_output .= "";
// echo output
echo $share_output;
}
}
echo $simple_social_sharing[0];
Kommentar