WordPress Theme Addin – share.php – #Update

Hallo @ All,

Wordpress LogoEs gibt ca. 1000 Million Anbieter für Shareing-Tools aber das was mir recht wäre habe ich nicht gefunden.

Also habe ich kurzerhand für meine Lieblinge unter den Sharing Plattformen ein eigenes Script geschrieben.
Für twitter twitter, Facebook Facebook, Xing Xing und Buzz Buzz

Dieses Script möchte ich euch ja nicht vorenthalten.


<?php
/*
Name: share.php by Smeagol
Plugin URI: http://www.xn--smagol-cva.de
Description: Share it via GET
Version: 0.0.1
Author: Smeagol
Author URI: http://www.xn--smagol-cva.de
License: None - Its Free!
*/
?>

<html><head>
<?php // share.php
// Datenbank wird nur benötigt falls mit gezählt werden soll wie oft auf die Links geklickt wird.
// Ansonsten ScriptConst_DatenbankName, ScriptConst_DatenbankPassword und ScriptConst_DatenbankHost auskommentieren!
// und außerdem PHP Zeilen ab der } // End Switch tool
		$ScriptConst_DatenbankName		= '#Insert Datenbank Name#';
		$ScriptConst_DatenbankPassword	= '#Insert Datenbank Password#';
		$ScriptConst_DatenbankHost		= 'localhost'; // kann auch anders lauten... :)
                $ScriptConst_BlogUrl = '# Insert Blog URL #'; // z.B. http://www.sméagol.de/
                $ScriptConst_BuzzUserName = '# Insert Buzz User ID #'; // z.B. smeagol1991@googlemail.com
                $ScriptConst_TwitterName = '# Insert Twitter User ID #'; // z.B. smeagol1991  (http://www.twitter.com/smeagol1991)
        $ScriptConst_FacebookUrl = '# Insert Facebook Profile URL #'; // z.B. 'http://www.facebook.com/smeagol.de'
		$ScriptConst_XingURL = '# Insert Xing Profile URL #'; // z.B. 'http://www.xing.com/profile/Sebastian_Groemcke'

		$tool	= $_GET['tool'];	/* buzz, twitter, facebook, xing */
		$post	= $_GET['post'];	/* POST ID */

		$oPost		= get_post($post);

	switch($tool) {
		case 'buzz':
			$link = 'http://www.google.com/reader/link?url=';
			$toEncode = $ScriptConst_BlogUrl . '?p=' . $post;
			$result = $link . urlencode($toEncode);
			/*--------------------------------------------------------*/
			$link = '&title=';
			$toEncode = '#Reading: ' . $oPost->post_title . ' (' . $ScriptConst_BlogUrl . '?p=' . $post . ') via ' . $ScriptConst_BuzzUserName;
			$result .= $link . urlencode($toEncode);
			/*--------------------------------------------------------*/
			$link = '&srcURL=';
			$toEncode = $ScriptConst_BlogUrl;
			$result .= $link . urlencode($toEncode);
			break;
		case 'twitter':
			$link = 'http://twitter.com/home?status=';
			$toEncode = '#Reading: ' . $oPost->post_title . ' (' . $ScriptConst_BlogUrl . '?p=' . $post . ') via @' . $ScriptConst_TwitterName;
			$result = $link . urlencode($toEncode);
			break;
		case 'facebook':
			$link = 'http://www.facebook.com/sharer.php?u=';
			$toEncode = $ScriptConst_BlogUrl . '?p=' . $post;
			$result = $link . urlencode($toEncode);
			/*--------------------------------------------------------*/
			$link = '&t=';
			$toEncode = '#Reading: ' . $oPost->post_title . ' (' . $ScriptConst_BlogUrl . '?p=' . $post . ') via ' . $ScriptConst_FacebookUrl;
			$result .= $link . urlencode($toEncode);
			break;
		case 'xing':
			$link = 'http://www.xing.com/app/user?op=share;url=';
			$toEncode = $ScriptConst_BlogUrl . '?p=' . $post;
			$result = $link . urlencode($toEncode);
			/*--------------------------------------------------------*/
			$link = ';title=';
			$toEncode = '#Reading: ' . $oPost->post_title . ' (' . $ScriptConst_BlogUrl . '?p=' . $post . ') via ' . $ScriptConst_XingURL;
			$result .= $link . urlencode($toEncode);
			/*--------------------------------------------------------*/
			$link = ';provider=';
			$toEncode = $ScriptConst_BlogUrl;
			$result .= $link . urlencode($toEncode);
			break;
	$Connect = mysql_connect($ScriptConst_DatenbankHost, $ScriptConst_DatenbankName, $ScriptConst_DatenbankPassword);
	if($Connect || die('FAILED @ E001'))
		$DB = mysql_select_db($ScriptConst_DatenbankName);
	if($DB || die('FAILED @ E002')) {
		$query = 'SELECT * FROM WPShare WHERE Post = ' . $post . ';';
		$oresult = mysql_query($query);
		if(mysql_affected_rows() > 0) {
			$query = '	UPDATE	WPShare
							SET	 Twitter	= Twitter	+ ' . $Tweets . '
								,Facebook	= Facebook	+ ' . $FBShares . '
								,Buzz		= Buzz		+ ' . $Buzz . '
								,Xing		= Xing		+ ' . $Xing . '
						WHERE	Post		= ' . $post . ';';
			$oresult = mysql_query($query);
		} else {
			$query = '	INSERT INTO	WPShare	(
						ID,
						Post,
						Twitter,
						Facebook,
						Buzz,
						Xing
											)
				VALUES	(
							NULL,
							' . $post . ',
							' . $Tweets . ',
							' . $FBShares . ',
							' . $Buzz . ',
							' . $Xing . '
						);';
			$oresult = mysql_query($query);
		}
	}
	mysql_close($Connect);

?>

<meta http-equiv="refresh" content="1; URL=<?php ECHO $result; ?>">
</head>
<body>
<script type="text/javascript" language="javascript">

<!--
document.location.href="<?php ECHO $result; ?>";
//-->
</script>
</body>
</html>


Download des Codes ist hier möglich.

Damit das ganze dann funktioniert muss der „share“ Button folgenden Link enthalten:
http://www.sméagol.de/[BlogEintrag_Permanentlink]?tool=[twitter,buzz,xing,facebook]&post=[PostId]

Okay ganz fertig bin ich immer noch nicht ihr müsst noch die single.php eures WordPress Themes anpassen.


<?php if((	$_GET['tool']=='buzz' ||
		$_GET['tool']=='twitter' ||
		$_GET['tool']=='facebook' ||
		$_GET['tool']=='xing'
	) && $_GET['post']!='') {
	include('share.php');
	//?tool=' . $_GET['tool'] . '&post=' . $_GET['post']
	} else {
?>

Dieser Code muss ganz oben in eure single.php und schon funktioniert der Aufruf wunderbar 🙂
Code zum Download findet ihr hier.

beides zusammen als HTML entitys gibts hier.

So jetzt viel Spaß damit und guten Nacht.

Wie immer bei Fragen, Kommentar, E-Mail oder ähnliche Kontaktaufnahme.

Gruß
Sméagol

#Update:
Alles was hier von Buzz steht ist leider der Google Reader geworden, morgen oder übermorgen gibts noch ein Update für den richtigen Buzz link.

#Update:
So der Code für Buzz sieht folgendermaßen aus:
(Nur der Ausschnitt nach „case ‚buzz‘:“


$link = 'http://www.google.com/buzz/post?url=';
 $toEncode = 'http://www.xn--smagol-cva.de/?p=' . $post;
 $result = $link . urlencode($toEncode);
 /*--------------------------------------------------------*/
 $link = '&message=';
 $toEncode = '#Reading: ' . $oPost->post_title . ' (http://www.sméagol.de/?p=' . $post . ') via smeagol1991@googlemail.com';
 $result .= $link . urlencode($toEncode);
 /*--------------------------------------------------------*/
 $link = '&imageurl=';
 $toEncode = 'http://www2.sméagol.de/wp-content/themes/MyOwn/css/img/header.png';
 $result .= $link . urlencode($toEncode);
 break;

Der Rest ist ziemlich gleich geblieben. Außer das man aus dem alten ‚buzz‘ ein ‚greader‘ z.B. machen kann nicht vergessen das in der single.php mit ins if aufzunehmen.

Code Snippet „BUZZ“ Download As Textfile.

Und jetzt ganz viel Spaß mit der ´share.php` 🙂 anpassen, weiter geben und so weiter alles Erlaubt. Auch ohne Namensnennung, klaut „euren“ Code gerne bei mir :).

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.

WordPress Cookie Hinweis von Real Cookie Banner