2-Klick-Buttons', 'manage_options', 'twoclick-buttons-options', 'twoclick_buttons_options_page' ); } } /** * Optionsseite generieren. * * @since 0.4 */ if(!function_exists('twoclick_buttons_options_page')) { function twoclick_buttons_options_page() { /** * JavaScript für Flattr einfügen */ if(!defined('PPFEUFER_FLATTRSCRIPT_IS_LOADED')) { echo ''; define('PPFEUFER_FLATTRSCRIPT_IS_LOADED', true); } /** * Status von $_POST abfangen. */ if(!empty($_POST)) { /** * Validate the nonce. */ check_admin_referer('twoclick-buttons-options'); if($_POST['twoclick_buttons_settings']['twoclick_buttons_maintenance_reset']) { /** * Resetting options to defaults. */ // twoclick_buttons_reset_options(); // echo '
'; // echo '

'; // _e('Settings resetted.', 'twoclick-buttons'); // echo '

'; // echo '
'; } elseif($_POST['twoclick_buttons_settings']['twoclick_buttons_maintenance_clear']) { /** * Deleting all options from database. */ // twoclick_buttons_delete_options(); // echo '
'; // echo '

'; // _e('Settings deleted.', 'twoclick-buttons'); // echo '

'; // echo '
'; } else { /** * Writing new options to database. * @var array */ $array_Options = array( 'twoclick_buttons_plugin_version' => (string) TWOCLICK_SOCIALMEDIA_BUTTONS_VERSION, 'twoclick_buttons_where' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_where']), 'twoclick_buttons_twitter_reply' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_twitter_reply']), 'twoclick_buttons_twitter_tweettext' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_twitter_tweettext']), 'twoclick_buttons_twitter_tweettext_owntext' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_twitter_tweettext_owntext']), 'twoclick_buttons_twitter_hashtags' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_twitter_hashtags'])), 'twoclick_buttons_twitter_tweettext_default_as' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_twitter_tweettext_default_as']), 'twoclick_buttons_flattr_uid' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_flattr_uid']), 'twoclick_buttons_display_page' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_page'])), // 'twoclick_buttons_display_index' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_index'])), 'twoclick_buttons_display_facebook' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_facebook'])), 'twoclick_buttons_display_twitter' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_twitter'])), 'twoclick_buttons_display_flattr' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_flattr'])), 'twoclick_buttons_display_googleplus' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_googleplus'])), 'twoclick_buttons_display_facebook_perm' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_facebook_perm'])), 'twoclick_buttons_display_twitter_perm' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_twitter_perm'])), 'twoclick_buttons_display_googleplus_perm' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_googleplus_perm'])), 'twoclick_buttons_display_flattr_perm' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_flattr_perm'])), 'twoclick_buttons_infotext_facebook' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_infotext_facebook']), 'twoclick_buttons_infotext_twitter' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_infotext_twitter']), 'twoclick_buttons_infotext_googleplus' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_infotext_googleplus']), 'twoclick_buttons_infotext_flattr' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_infotext_flattr']), 'twoclick_buttons_infotext_infobutton' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_infotext_infobutton']), 'twoclick_buttons_infotext_permaoption' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_infotext_permaoption']), 'twoclick_buttons_infolink' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_infolink']), 'twoclick_buttons_facebook_action' => (string) (@$_POST['twoclick_buttons_settings']['twoclick_buttons_facebook_action']), ); twoclick_buttons_update_options($array_Options); echo '
'; echo '

Einstellungen gespeichert

'; echo '
'; } } ?>


name="twoclick_buttons_settings[twoclick_buttons_display_facebook]" id="twoclick_buttons_settings[twoclick_buttons_display_facebook]" group="twoclick_buttons_display" /> name="twoclick_buttons_settings[twoclick_buttons_display_facebook_perm]" id="twoclick_buttons_settings[twoclick_buttons_display_facebook_perm]" group="twoclick_buttons_display" />
name="twoclick_buttons_settings[twoclick_buttons_display_twitter]" id="twoclick_buttons_settings[twoclick_buttons_display_twitter]" group="twoclick_buttons_display" /> name="twoclick_buttons_settings[twoclick_buttons_display_twitter_perm]" id="twoclick_buttons_settings[twoclick_buttons_display_twitter_perm]" group="twoclick_buttons_display" />
name="twoclick_buttons_settings[twoclick_buttons_display_googleplus]" id="twoclick_buttons_settings[twoclick_buttons_display_googleplus]" group="twoclick_buttons_display" /> name="twoclick_buttons_settings[twoclick_buttons_display_googleplus_perm]" id="twoclick_buttons_settings[twoclick_buttons_display_googleplus_perm]" group="twoclick_buttons_display" />
name="twoclick_buttons_settings[twoclick_buttons_display_flattr]" id="twoclick_buttons_settings[twoclick_buttons_display_flattr]" group="twoclick_buttons_display" /> name="twoclick_buttons_settings[twoclick_buttons_display_flattr_perm]" id="twoclick_buttons_settings[twoclick_buttons_display_flattr_perm]" group="twoclick_buttons_display" />
name="twoclick_buttons_settings[twoclick_buttons_display_page]" id="twoclick_buttons_settings[twoclick_buttons_display_page]" group="twoclick_buttons_display" />

[twoclick_buttons] inside your articles.', 'twoclick-socialmedia'); ?>
<?php if(function_exists(\'get_twoclick_buttons\')) {get_twoclick_buttons(get_the_ID());}?> inside your template. It\'s using all settings for "Display". Note: It will only work in single post or page templates. Not in any loop.', 'twoclick-socialmedia'); ?>

(optional)', 'twoclick-socialmedia'); ?>
not \'RT @yourname\'.', 'twoclick-socialmedia'); ?>
name="twoclick_buttons_settings[twoclick_buttons_twitter_tweettext]" id="twoclick_buttons_settings[twoclick_buttons_twitter_tweettext_default]" group="twoclick_buttons_twitter_tweettext" />
name="twoclick_buttons_settings[twoclick_buttons_twitter_tweettext]" id="twoclick_buttons_settings[twoclick_buttons_twitter_tweettext_own]" group="twoclick_buttons_twitter_tweettext" />

Posttitle » Blogtitle"', 'twoclick-socialmedia'); ?>

name="twoclick_buttons_settings[twoclick_buttons_twitter_hashtags]" id="twoclick_buttons_settings[twoclick_buttons_twitter_hashtags]" group="twoclick_buttons_twitter_tweettext" />

ID); $var_sHtml = twoclick_buttons_generate_html(); $var_sWhere = 'twoclick_buttons_where'; /** * Prüfen ob der Template-Tag verwendet wurde. * Wenn ja, $content bereinigt zurückgeben andernfalls die Buttons generieren. * * @since 0.18 */ if(twoclick_buttons_get_option($var_sWhere) == 'template') { return str_replace('[twoclick_buttons]', '', $content); } else { /** * Prüfen ob wir auf einer Einzelseite sind. * Artikel oder CMS-Seite. * * @since 0.13 (Überarbeitung der Logik) */ if(is_singular()) { /** * Wenn der Button nicht auf CMS-Seiten angezeigt werden soll. */ if(is_page() && twoclick_buttons_get_option('twoclick_buttons_display_page') == null) { return $content; } /** * Auch auf "Anhangsseiten" wird nichts angezeigt. * Zu diesen Seiten zählt alles, was aus der Mediathek heraus verlinkt wird. */ if(is_attachment()) { return $content; } if(twoclick_buttons_get_option($var_sWhere) == 'shortcode') { /** * Manuelles Einfügen via Shortcode [twoclick_buttons]. * * @since 0.5 */ return str_replace('[twoclick_buttons]', $var_sHtml, $content); } else { /** * Einfügen der Buttons nach den Einstellungen. */ if(get_post_meta($post->ID, 'twoclick_buttons') == null) { /** * Da hier nicht via Shortcode eingebunden wird, muss dieser aus dem Text entfernt werden. * * @since 0.13 */ $content = str_replace('[twoclick_buttons]', '', $content); /** * Buttons einbinden. */ if(twoclick_buttons_get_option($var_sWhere) == 'before') { /** * Vor dem Beitrag einfügen. */ return $var_sHtml . '

' . $content; } elseif(twoclick_buttons_get_option($var_sWhere) == 'after') { /** * Nach dem Beitrag einfügen. */ return $content . $var_sHtml; } // END if(twoclick_buttons_get_option($var_sWhere) == 'before') } else { /** * Keinen Button einfügen. */ return $content; } // END if(get_post_meta($post->ID, 'twoclick_buttons') == null) } // END if(twoclick_buttons_get_option($var_sWhere) == 'shortcode') } else { // if(twoclick_buttons_get_option($var_sWhere) == 'before') { // /** // * Vor dem Beitrag einfügen. // */ // $var_sJavaScript = twoclick_buttons_get_js(get_the_ID()); // return twoclick_buttons_generate_html(get_the_ID()) . $var_sJavaScript . '

' . $content; // } elseif(twoclick_buttons_get_option($var_sWhere) == 'after') { // /** // * Nach dem Beitrag einfügen. // */ // $var_sJavaScript = twoclick_buttons_get_js(get_the_ID()); // return $content . twoclick_buttons_generate_html(get_the_ID()) . $var_sJavaScript ; // } /** * Übersichtsseite. * Keine Buttons einfügen und den Shortcode auf dem Text entfernen. */ return str_replace('[twoclick_buttons]', '', $content); } // END if(is_singular()) } } } // END if(!function_exists('twoclick_buttons')) /** * Post Excerpt generieren, wenn noch keiner da ist ... * * @since 0.10 */ if(!function_exists('twoclick_buttons_generate_post_excerpt')) { function twoclick_buttons_generate_post_excerpt($excerpt, $maxlength) { if(function_exists('strip_shortcodes')) { $excerpt = strip_shortcodes($excerpt); } $excerpt = trim($excerpt); // Now lets strip any tags which dont have balanced ends // Need to put NGgallery tags in there - there are a lot of them and they are all different. $open_tags = "[simage,[[CP,[gallery,[imagebrowser,[slideshow,[tags,[albumtags,[singlepic,[album"; $close_tags = "],]],],],],],],],]"; $open_tag = explode(",", $open_tags); $close_tag = explode(",", $close_tags); foreach(array_keys($open_tag) as $key) { if(preg_match_all('/' . preg_quote($open_tag[$key]) . '(.*?)' . preg_quote($close_tag[$key]) . '/i', $excerpt, $matches)) { $excerpt = str_replace($matches[0], "", $excerpt); } } // END foreach(array_keys($open_tag) as $key) $excerpt = preg_replace('#().*?()#', '$1$2', $excerpt); // Support for qTrans if(function_exists('qtrans_use')) { global $q_config; $excerpt = qtrans_use($q_config['default_language'], $excerpt); } // END if(function_exists('qtrans_use')) $excerpt = strip_tags($excerpt); // Now lets strip off the youtube stuff. preg_match_all('#http://(www.youtube|youtube|[A-Za-z]{2}.youtube)\.com/(watch\?v=|w/\?v=|\?v=)([\w-]+)(.*?)player_embedded#i', $excerpt, $matches); $excerpt = str_replace($matches[0], "", $excerpt); preg_match_all('#http://(www.youtube|youtube|[A-Za-z]{2}.youtube)\.com/(watch\?v=|w/\?v=|\?v=|embed/)([\w-]+)(.*?)#i', $excerpt, $matches); $excerpt = str_replace($matches[0], "", $excerpt); if(strlen($excerpt) > $maxlength) { # If we've got multibyte support then we need to make sure we get the right length - Thanks to Kensuke Akai for the fix if(function_exists('mb_strimwidth')) { $excerpt = mb_strimwidth($excerpt, 0, $maxlength, " ..."); } else { $excerpt = current(explode("SJA26666AJS", wordwrap($excerpt, $maxlength, "SJA26666AJS"))) . " ..."; } // END if(function_exists('mb_strimwidth')) } // END if(strlen($excerpt) > $maxlength) return $excerpt; } // END function twoclick_buttons_generate_post_excerpt($excerpt, $maxlength) } // END if(!function_exists('twoclick_buttons_generate_post_excerpt')) /** * Tweettext einbinden * @since 0.14 */ if(!function_exists('twoclick_buttons_get_tweettext')) { function twoclick_buttons_get_tweettext() { $twitter_hashtags = twoclick_buttons_get_hashtags(); $tweettext = ''; if (twoclick_buttons_get_option('twoclick_buttons_twitter_tweettext') == 'own') { if(twoclick_buttons_get_option('twoclick_buttons_twitter_tweettext') == 'own' && strlen(twoclick_buttons_get_option('twoclick_buttons_twitter_tweettext_owntext')) == 0) { $tweettext = get_the_title(TWOCLICK_POST_ID) . ' » ' . get_bloginfo('name') . $twitter_hashtags; } else { $tweettext = twoclick_buttons_get_option('twoclick_buttons_twitter_tweettext_owntext') . $twitter_hashtags; } } else { if(twoclick_buttons_get_option('twoclick_buttons_twitter_tweettext_default_as') == 'posttitle-blogtitle') { $tweettext = get_the_title(TWOCLICK_POST_ID) . ' » ' . get_bloginfo('name') . $twitter_hashtags; } elseif(twoclick_buttons_get_option('twoclick_buttons_twitter_tweettext_default_as') == 'posttitle') { $tweettext = get_the_title(TWOCLICK_POST_ID) . $twitter_hashtags; } } return twoclick_buttons_shorten_tweettext($tweettext); } } /** * Tweettext kürzen * @since 0.14 */ if(!function_exists('twoclick_buttons_shorten_tweettext')) { function twoclick_buttons_shorten_tweettext($tweettext) { $array_tweettextData = array( 'length_tweettext_maximal' => 140, 'length_tweettext' => strlen($tweettext), 'length_twitter_name' => strlen(' via @' . twoclick_buttons_get_option('twoclick_buttons_twitter_reply')), 'length_tweetlink' => 20, 'length_more' => strlen(' [...]') ); $length_new_tweettext = $array_tweettextData['length_tweettext_maximal'] - $array_tweettextData['length_twitter_name'] - $array_tweettextData['length_tweetlink'] - $array_tweettextData['length_more']; if($array_tweettextData['length_tweettext'] > $length_new_tweettext) { $tweettext = substr($tweettext, 0, $length_new_tweettext) . ' [...]'; } return $tweettext; } } /** * Tags des Artikels in #Hashtags umwandeln * @since 0.14 */ if(!function_exists('twoclick_buttons_get_hashtags')) { function twoclick_buttons_get_hashtags() { /** * Sollen #Hashtags angezeigt werden? */ if (twoclick_buttons_get_option('twoclick_buttons_twitter_hashtags') == '1') { $hashtags = strip_tags(get_the_tag_list(' #', ' #', '')); } else { $hashtags = ''; } return $hashtags; } } /** * HTML generieren. * * @since 0.1 */ if(!function_exists('twoclick_buttons_generate_html')) { function twoclick_buttons_generate_html($var_sPostID = '') { if($var_sPostID == '') { $var_sPostID = TWOCLICK_POST_ID; } if(!is_singular()) { // return '
'; return; } else { return '
'; } } } /** * Template-Tag zur Verfügung stellen. * Einbindung: * * * Restriktionen: * Kann nur in Einzelartikeln und/oder -seiten verwendet werden. Wird im Loop nicht angezeigt. * * @since 0.18 */ if(!function_exists('get_twoclick_buttons')) { function get_twoclick_buttons($var_sPostId) { if(is_singular() && twoclick_buttons_get_option('twoclick_buttons_where') == 'template') { /** * Wenn der Button nicht auf CMS-Seiten angezeigt werden soll. */ if(is_page() && twoclick_buttons_get_option('twoclick_buttons_display_page') == null) { return; } /** * Auch auf "Anhangsseiten" wird nichts angezeigt. * Zu diesen Seiten zählt alles, was aus der Mediathek heraus verlinkt wird. */ if(is_attachment()) { return; } echo twoclick_buttons_generate_html($var_sPostId) . '

'; } } } /** * Dummybilder bereit stellen. * * Je nach Sprache des Blogs werden verschiedene Dummybilder bereit gestellt. * Momentan nur für Deutsch (de_DE) und als Fallback Englisch. * * @since 0.14 * @todo Logik zur Erkennung der Bilder einbauen, damit nur die wirklichen Unterschiede bei den Sprachen zu default erwähnt werden ,üssen. */ if(!function_exists('twoclick_buttons_get_dummy_images')) { function twoclick_buttons_get_dummy_images($var_sLang = '', $var_sNetwork = '') { $var_sPluginsUrl = plugin_dir_url(__FILE__); $var_sPluginsPath = plugin_dir_path(__FILE__); if($var_sLang == '') { $var_sLang = 'default'; } // Dummybilder $array_DummyImages = array( 'default' => array( 'facebook-dummy-image-recommend' => $var_sPluginsUrl . 'images/facebook-dummy-image-recommend.png', 'facebook-dummy-image-like' => $var_sPluginsUrl . 'images/facebook-dummy-image-like.png', 'twitter-dummy-image' => $var_sPluginsUrl . 'images/twitter-dummy-image-tweet.png', 'googleplus-dummy-image' => $var_sPluginsUrl . 'images/googleplus-dummy-image-gplusone.png', 'flattr-dummy-image' => $var_sPluginsUrl . 'images/flattr-dummy-image-flattr.png' ), 'de_DE' => array( 'facebook-dummy-image-recommend' => $var_sPluginsUrl . 'images/facebook-dummy-image-empfehlen.png', 'facebook-dummy-image-like' => $var_sPluginsUrl . 'images/facebook-dummy-image-gefaellt-mir.png', 'twitter-dummy-image' => $var_sPluginsUrl . 'images/twitter-dummy-image-tweet.png', 'googleplus-dummy-image' => $var_sPluginsUrl . 'images/googleplus-dummy-image-gplusone.png', 'flattr-dummy-image' => $var_sPluginsUrl . 'images/flattr-dummy-image-flattr.png' ) ); if(array_key_exists($var_sLang, $array_DummyImages)) { $array_DummyImagesReturn = $array_DummyImages[$var_sLang]; } else { $array_DummyImagesReturn = $array_DummyImages['default']; } return $array_DummyImagesReturn; } } /** * CSS in den Head auslagern. * * @since 0.1 */ if(!function_exists('twoclick_buttons_head')) { function twoclick_buttons_head() { if(!is_admin()) { $var_sCss = plugins_url(basename(dirname(__FILE__)) . '/css/socialshareprivacy.css'); echo '' . "\n" . '' . "\n"; echo twoclick_buttons_opengraph_tags(); } } } /** * Schreibe OpenGraph-Tags und Artikelbild in den -Bereich. * * @since 0.7 */ if(!function_exists('twoclick_buttons_opengraph_tags')) { function twoclick_buttons_opengraph_tags() { global $post; /* Nur Frontend */ if(is_feed() || is_trackback() || !is_singular()) { return; } $array_Image = ''; /* Source */ /** * Abfrage ob das Theme Post Thumbnails unterstützt. * Einige Themes tun das einfach nicht. * * @since 0.7.1 */ if(function_exists('get_post_thumbnail_id')) { $array_Image = wp_get_attachment_image_src(get_post_thumbnail_id($GLOBALS['post']->ID)); } if(is_array($array_Image)) { $var_sFaceBookThumbnail = $array_Image['0']; } else { $var_sDefaultThumbnail = ''; $var_sOutput = preg_match_all('//i', $GLOBALS['post']->post_content, $array_Matches); if($var_sOutput > 0) { $var_sFaceBookThumbnail = $array_Matches[1][0]; } else { $var_sFaceBookThumbnail = false; } } /* Ausgabe */ echo "\n" . '' . "\n"; if($var_sFaceBookThumbnail) { echo sprintf('%s', esc_attr($var_sFaceBookThumbnail), "\n"); } /** * Post Excerpt suchen und eventuell setzen, da sonst bei Facebook und G+ nichts steht. * Sollte der Post keinen eigenen Excerpt haben, wird einer aus dem Artikel extrahiert. * Dieser wird dann, ganz Twitterstyle, auf 140 Zeichen begrenzt. * * @since 0.10 */ // $var_sExcerpt = ''; if(has_excerpt()) { // $var_sExcerpt = $post->post_excerpt; define('TWOCLICK_POST_EXCERPT', $post->post_excerpt); } else { // $var_sExcerpt = twoclick_buttons_generate_post_excerpt($post->post_content, 140); define('TWOCLICK_POST_EXCERPT', twoclick_buttons_generate_post_excerpt($post->post_content, 400)); } /** * Open:Graph-Tags fuer FB-Like * * @since 0.7 */ echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; if($var_sFaceBookThumbnail) { echo '' . "\n"; } // echo '' . "\n"; echo '' . "\n"; echo '' . "\n"; } } /** * JavaScript in den Footer auslagern. * * @since 0.1 */ if(!function_exists('twoclick_buttons_footer')) { function twoclick_buttons_footer() { if(!is_admin()) { $var_sJavaScript = plugins_url(basename(dirname(__FILE__)) . '/js/social_bookmarks.js'); echo '' . "\n" . ''; if(is_singular()) { twoclick_buttons_get_js(); } } } } /** * JavaScript für Ausgabe generieren. * * @since 0.4 */ if(!function_exists('twoclick_buttons_get_js')) { function twoclick_buttons_get_js($var_sPostID = '') { if(!is_admin()) { if($var_sPostID == '') { $var_sPostID = TWOCLICK_POST_ID; } $var_sTitle = rawurlencode(get_the_title($var_sPostID)); $var_sTweettext = rawurlencode(twoclick_buttons_get_tweettext()); $var_sShowFacebook = (twoclick_buttons_get_option('twoclick_buttons_display_facebook')) ? 'on' : 'off'; $var_sShowFacebookPerm = (twoclick_buttons_get_option('twoclick_buttons_display_facebook_perm')) ? 'on' : 'off'; $var_sShowTwitter = (twoclick_buttons_get_option('twoclick_buttons_display_twitter')) ? 'on' : 'off'; $var_sShowFlattr = (twoclick_buttons_get_option('twoclick_buttons_display_flattr')) ? 'on' : 'off'; $var_sShowTwitterPerm = (twoclick_buttons_get_option('twoclick_buttons_display_twitter_perm')) ? 'on' : 'off'; $var_sShowGoogleplus = (twoclick_buttons_get_option('twoclick_buttons_display_googleplus')) ? 'on' : 'off'; $var_sShowGoogleplusPerm = (twoclick_buttons_get_option('twoclick_buttons_display_googleplus_perm')) ? 'on' : 'off'; $var_sShowFlattrPerm = (twoclick_buttons_get_option('twoclick_buttons_display_flattr_perm')) ? 'on' : 'off'; $var_sCss = plugins_url(basename(dirname(__FILE__)) . '/css/socialshareprivacy.css'); $var_sPlusoneLib = plugins_url(basename(dirname(__FILE__)) . '/libs/plusone.php'); $var_sPostExcerpt = rawurlencode(TWOCLICK_POST_EXCERPT); // if(is_single()) { // $var_sPostExcerpt = rawurlencode(TWOCLICK_POST_EXCERPT); // } else { // $var_sPostExcerpt = rawurlencode(twoclick_buttons_generate_post_excerpt(get_the_content(), 400)); // } /** * Link zusammenbauen, auch wenn Optionen übergeben werden. * * @since 0.16 */ if(isset($_GET) && count($_GET) != '0') { $var_sPermalink = (isset($_SERVER['HTTPS'])?'https':'http').'://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; } else { $var_sPermalink = get_permalink($var_sPostID); } // Infotexte $var_sInfotextFacebook = ''; if(twoclick_buttons_get_option('twoclick_buttons_infotext_facebook') != '') { $var_sInfotextFacebook = '\'txt_info\' : \'' . twoclick_buttons_get_option('twoclick_buttons_infotext_facebook') . '\','; } $var_sInfotextTwitter = ''; if(twoclick_buttons_get_option('twoclick_buttons_infotext_twitter') != '') { $var_sInfotextTwitter = '\'txt_info\' : \'' . twoclick_buttons_get_option('twoclick_buttons_infotext_twitter') . '\','; } $var_sInfotextGoogleplus = ''; if(twoclick_buttons_get_option('twoclick_buttons_infotext_googleplus') != '') { $var_sInfotextGoogleplus = '\'txt_info\' : \'' . twoclick_buttons_get_option('twoclick_buttons_infotext_googleplus') . '\','; } $var_sInfotextFlattr = ''; if(twoclick_buttons_get_option('twoclick_buttons_infotext_flattr') != '') { $var_sInfotextFlattr = '\'txt_info\' : \'' . twoclick_buttons_get_option('twoclick_buttons_infotext_flattr') . '\','; } $var_sInfotextInfobutton = ''; if(twoclick_buttons_get_option('twoclick_buttons_infotext_infobutton') != '') { $var_sInfotextInfobutton = '\'txt_help\' : \'' . twoclick_buttons_get_option('twoclick_buttons_infotext_infobutton') . '\','; } $var_sInfotextPermaoption = ''; if(twoclick_buttons_get_option('twoclick_buttons_infotext_permaoption') != '') { $var_sInfotextPermaoption = '\'settings_perma\' : \'' . twoclick_buttons_get_option('twoclick_buttons_infotext_permaoption') . '\','; } $var_sInfolink = ''; if(twoclick_buttons_get_option('twoclick_buttons_infolink') != '') { $var_sInfolink = '\'info_link\' : \'' . trim(twoclick_buttons_get_option('twoclick_buttons_infolink')) . '\','; } // Dummybilder holen. $array_DummyImages = twoclick_buttons_get_dummy_images(get_locale()); $var_sFacebookAction = (twoclick_buttons_get_option('twoclick_buttons_facebook_action')) ? twoclick_buttons_get_option('twoclick_buttons_facebook_action') : 'resommend'; $var_sJavaScript = ''; /** * Abfrage, wo wir sind. Ob Einzelseite oder Index. * * since 0.6 */ if(is_singular()) { if(is_page() && twoclick_buttons_get_option('twoclick_buttons_display_page') == null) { return; } elseif(is_attachment()) { return; } else { echo $var_sJavaScript; } } else { // echo $var_sJavaScript; return; } } } } /** * Changelog bei Pluginupdate ausgeben. * * @since 0.1 */ if(!function_exists('twoclick_buttons_update_notice')) { function twoclick_buttons_update_notice() { $url = 'http://plugins.trac.wordpress.org/browser/2-click-socialmedia-buttons/trunk/readme.txt?format=txt'; $data = ''; if(ini_get('allow_url_fopen')) { $data = file_get_contents($url); } else { if(function_exists('curl_init')) { $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); $data = curl_exec($ch); curl_close($ch); } // END if(function_exists('curl_init')) } // END if(ini_get('allow_url_fopen')) if($data) { $matches = null; $regexp = '~==\s*Changelog\s*==\s*=\s*[0-9.]+\s*=(.*)(=\s*' . preg_quote(TWOCLICK_SOCIALMEDIA_BUTTONS_VERSION) . '\s*=|$)~Uis'; if(preg_match($regexp, $data, $matches)) { $changelog = (array) preg_split('~[\r\n]+~', trim($matches[1])); echo '
What\'s new:'; $ul = false; $version = 99; foreach($changelog as $index => $line) { if(version_compare($version, TWOCLICK_SOCIALMEDIA_BUTTONS_VERSION, ">")) { if(preg_match('~^\s*\*\s*~', $line)) { if(!$ul) { echo '
    '; $ul = true; } // END if(!$ul) $line = preg_replace('~^\s*\*\s*~', '', $line); echo '
  • ' . $line . '
  • '; } else { if($ul) { echo '
'; $ul = false; } // END if($ul) $version = trim($line, " ="); echo '

' . htmlspecialchars($line) . '

'; } // END if(preg_match('~^\s*\*\s*~', $line)) } // END if(version_compare($version, TWOCLICK_SOCIALMEDIA_BUTTONS_VERSION,">")) } // END foreach($changelog as $index => $line) if($ul) { echo '
'; } // END if($ul) echo '
'; } // END if(preg_match($regexp, $data, $matches)) } // END if($data) } // END function twoclick_buttons_update_notice() } // END if(!function_exists('twoclick_buttons_update_notice')) /** * Variablen registrieren. * * @since 0.4 */ if(!function_exists('twoclick_buttons_init')) { function twoclick_buttons_init() { if(function_exists('register_setting')) { register_setting('twoclick_buttons-options', 'twoclick_buttons_settings'); } /** * Sprachdatei wählen */ if(function_exists('load_plugin_textdomain')) { load_plugin_textdomain('twoclick-socialmedia', false, dirname(plugin_basename( __FILE__ )) . '/l10n/'); } } } /** * Optionen updaten ... * * @param array $array_Data * @since 0.4 */ if(!function_exists('twoclick_buttons_update_options')) { function twoclick_buttons_update_options($array_Data) { $array_Options = array_merge((array) get_option('twoclick_buttons_settings'), $array_Data); update_option('twoclick_buttons_settings', $array_Options); wp_cache_set('twoclick_buttons_settings', $array_Options); return; } } /** * Actions abfeuern. * * @since 0.1 */ if(!is_admin()) { /** * jQuery anfordern und bei Bedarf einbinden. * * @since 0.4 */ wp_enqueue_script('jquery'); // Aktionen add_action('wp_head', 'twoclick_buttons_head'); add_action('wp_footer', 'twoclick_buttons_footer'); } /* Nur wenn User auch der Admin ist, sind die Adminoptionen zu sehen */ if(is_admin()) { add_action('admin_menu', 'twoclick_buttons_options'); add_action('admin_init', 'twoclick_buttons_init'); // Updatemeldung if(ini_get('allow_url_fopen') || function_exists('curl_init')) { add_action('in_plugin_update_message-' . plugin_basename(__FILE__), 'twoclick_buttons_update_notice'); } } /** * Filter zum Blog hinzufügen. * * @since 0.1 */ add_filter('the_content', 'twoclick_buttons', 8); ?>