Soziale Netzwerke
Soziale Netzwerke nehmen auf Webseiten immer mehr zu, und somit kann dieses Thema auch in PHPWCMS nicht außen vor bleiben ... Lange Zeit war ein Modul nötig um die Sozialen Netzwerke in das CMS zu integrieren.
Problematisch ist seit der neuen Datenschutzverordnung DSGVO der "Like" Button geworden. Wie es sich genau mit einem "Teilen" Button verhält, weiß ich nicht, aber ich gehe mal davon aus, das sowas kein Problem ist, da ja nur ein Link produziert wird, der auf der jeweiligen Plattform veröffentlicht werden kann.
Fündig wird man für die Integration von Facebook & Co wieder einmal unter inc_script/frontend_render/disabled hier liegt das Script linkme.php, was man in den Ordner frontend_render kopiert. Öffnet man die Datei in einem Editor, kommt zu Tage, wie die Nutzung funktioniert.
die linkme.php
<?php
/**
* phpwcms content management system
*
* @author Oliver Georgi <ogphpwcmsorg>
* @copyright Copyright (c) 2002-2018, Oliver Georgi
* @license http://opensource.org/licenses/GPL-2.0 GNU GPL-2
* @link http://www.phpwcms.org
*
**/
// Social Bookmarking = bookmark buttons
// [LINK_IT]<tag>{WONG} {DIGG} {DEL}</tag>[/LINK_IT]
$content['all'] = preg_replace_callback('/\[LINK_IT\](.*?)\[\/LINK_IT\]/is', 'createSocialBookmark', $content['all']);
function createSocialBookmark($matches) {
if(empty($matches[1])) return '';
if(strpos($matches[1], '<!--DETAIL_ONLY-->') === false) {
if(empty($GLOBALS['aktion'][1])) {
$bm['url'] = PHPWCMS_URL.'index.php?id='.$GLOBALS['aktion'][0];
} else {
$bm['url'] = PHPWCMS_URL.'index.php?aid='.$GLOBALS['aktion'][1];
}
} else {
if(empty($GLOBALS['aktion'][1])) return '';
$bm['url'] = PHPWCMS_URL.'index.php?aid='.$GLOBALS['aktion'][1];
$matches[1] = str_replace('<!--DETAIL_ONLY-->', '', $matches[1]);
}
$bm['uurl'] = $bm['url'];
$bm['url'] = rawurlencode($bm['url']);
$bm['title'] = clean_replacement_tags(empty($GLOBALS['content']['article_title']) ? $GLOBALS['content']["pagetitle"] : $GLOBALS['content']['article_title'], '');
$bm['title'] = cleanUpSpecialHtmlEntities($bm['title']);
$bm['title'] = rawurlencode($bm['title']);
$bm['bodytext'] = empty($GLOBALS['content']['article_summary']) ? '' : clean_replacement_tags($GLOBALS['content']['article_summary'], '');
$bm['bodytext'] = cleanUpSpecialHtmlEntities($bm['bodytext']);
$bm['bodytext'] = getCleanSubString($bm['bodytext'], 25, '�', 'word');
$bm['bodytext'] = rawurlencode($bm['bodytext']);
$bm['topic'] = rawurlencode($GLOBALS['content']['struct'][ $GLOBALS['aktion'][0] ]['acat_name']);
// now set all sepcific data
$bm['service']['wong']['url'] = 'http://www.mister-wong.de/index.php?action=addurl';
$bm['service']['wong']['url'] .= '&bm_url='.$bm['url'];
$bm['service']['wong']['url'] .= '&bm_description='.$bm['title'];
$bm['service']['wong']['alt'] = 'Wong It!';
$bm['service']['furl']['url'] = 'http://www.furl.net/savedialog.jsp?p=1&t='.$bm['title'].'&u='.$bm['url'].'&c=&r=';
$bm['service']['furl']['alt'] = 'Furl It';
$bm['service']['spurl']['url'] = 'http://www.spurl.net/spurl.php?title='.$bm['title'].'&url='.$bm['url']; //&blocked=__tags__s';
$bm['service']['spurl']['alt'] = 'Spurl!';
$bm['service']['technorati']['url'] = 'http://technorati.com/faves?add='.rawurlencode(PHPWCMS_URL);
$bm['service']['technorati']['alt'] = 'TechnoratiFaves';
$bm['service']['delicious']['url'] = 'http://del.icio.us/post?url='.$bm['url'].'&title='.$bm['title'].'&jump=no';
$bm['service']['delicious']['alt'] = 'Del.icio.us';
$bm['service']['digg']['url'] = 'http://digg.com/submit?phase=2&url='.$bm['url'].'&title='.$bm['title'];
$bm['service']['digg']['url'] .= '&bodytext='.$bm['bodytext'].'&topic=';
$bm['service']['digg']['alt'] = 'DiggIt!';
$bm['service']['yahoo']['url'] = 'http://myweb2.search.yahoo.com/myresults/bookmarklet?t='.$bm['title'].'&u='.$bm['url'].'&d='.$bm['bodytext'].'&ei='.PHPWCMS_CHARSET;
$bm['service']['yahoo']['alt'] = 'Save to Yahoo! My Web';
$bm['service']['google']['url'] = 'http://www.google.com/bookmarks/mark?op=add&bkmk='.$bm['url'].'&title='.$bm['title'].'&annotation='.$bm['bodytext'];
$bm['service']['google']['alt'] = 'Google Bookmark';
$bm['service']['magnolia']['url'] = 'http://ma.gnolia.com/bookmarklet/add?url='.$bm['url'].'&title='.$bm['title'].'&description='.$bm['bodytext'];
$bm['service']['magnolia']['alt'] = 'Ma.gnolia';
$bm['service']['newsvine']['url'] = 'http://www.newsvine.com/_tools/seed&save?url='.$bm['url'].'&title='.$bm['title'];
$bm['service']['newsvine']['alt'] = 'Newsvine';
$bm['service']['reddit']['url'] = 'http://reddit.com/submit?url='.$bm['url'].'&title='.$bm['title'];
$bm['service']['reddit']['alt'] = 'Reddit';
$bm['service']['webnews']['url'] = 'http://www.webnews.de/einstellen?url='.$bm['url'].'&title='.$bm['title'].'&desc='.$bm['bodytext'];
$bm['service']['webnews']['alt'] = 'Diese Nachricht bei Webnews einstellen';
$bm['service']['wikio']['url'] = 'http://www.wikio.com/vote?url='.$bm['url'];
$bm['service']['wikio']['alt'] = 'Wikio';
$bm['service']['yigg']['url'] = 'http://yigg.de/neu?exturl='.$bm['url'].'&exttitle='.$bm['title'].'&extdesc='.$bm['bodytext'];
$bm['service']['yigg']['alt'] = 'YiGG it';
$bm['service']['facebook']['url'] = 'http://www.facebook.com/sharer.php?u='.$bm['url'].'&t='.$bm['title'];
$bm['service']['facebook']['alt'] = 'auf Facebook teilen';
$bm['service']['folkd']['url'] = 'http://www.folkd.com/submit/'.$bm['uurl'];
$bm['service']['folkd']['alt'] = 'folk it!';
$bm['service']['oneview']['url'] = 'http://www.oneview.de/quickadd/neu/addBookmark.jsf?URL='.$bm['url'].'&title='.$bm['title'];
$bm['service']['oneview']['alt'] = 'oneview - das merk ich mir!';
foreach($bm['service'] as $key => $value) {
$bmt = '<a href="'.$bm['service'][$key]['url'].'" title="'.$bm['service'][$key]['alt'].'" ';
$bmt .= 'target="_blank" rel="nofollow"><img src="'.TEMPLATE_PATH.'img/bookmarklets/'.$key.'.gif" ';
$bmt .= 'alt="'.$bm['service'][$key]['alt'].'" border="0" /></a>';
$matches[1] = str_replace('{'.strtoupper($key).'}', $bmt, $matches[1]);
}
return $matches[1];
}
Die Funktion
Platziert man diesen Replacer irgendwo in einem Template oder in einem Artikel, so produziert das Script eine z.B. Facebook-Button, der wiederum ein neues Fenster öffnet um einen im Script erzeugten Link auf z-B. Facebook zu teilen!
Vor dem Einsatz sollte man unbedingt die im Script verwendeten Links überprüfen, da ich glaube das nicht alle noch richtig bzw. verwendbar sind.
[ LINK_IT ]<tag>{FACEBOOK}</tag>[ /LINK_IT ] ![]()
Ich bevorzuge eher einen Ansatz mit einem Modal.
geändert ...
geändertes Script, geänderter REPLACER. Funktion ansonsten genau wie das integrierte Script. [ LINK_IT ]<tag>{SOCIAL}</tag>[ / LINK_IT ] produziert einen Button (siehe unten) der wiederum ein Modal (in Bootstrap integriert) öffnet, in dem verschiedene Plattformen angeboten werden, auf denen der z.B. News-Artikel geteilt werden kann. Das Script basiert auf Bootstrap 5.3.1 und Font Awesome 4.7 Der jeweilige "Socal Media Button" öffnet ein PopUp-Fenster mit der Anmeldung zur entsprechenden Plattform. "It Works" :-)
Derzeit sind beide Sripte nicht miteinander kombinierbar ... mal sehn, vielleicht demnächst
Funktion und Optik des Button
Rechts seht Ihr den "TEILEN" BUTTON ➡︎ Geteilt wird die aktuelle Seite