2-Klick-Buttons', 'manage_options', 'twoclick-buttons-options', 'twoclick_buttons_options_page'); add_options_page('2-Klick-Buttons', '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_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_front' => (int) (!empty($_POST['twoclick_buttons_settings']['twoclick_buttons_display_front'])), '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_update_options($array_Options); echo '
'; echo '

Einstellungen gespeichert

'; echo '
'; } } ?>

Einstellungen für 2-Click Social Media Buttons

Anzeige
Spendier mir nen Kaffee, wenn Dir das Plugin gefällt :-)
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" />
Das Erlauben der permanenten Aktivierung der Buttons kann, wenn diese genutzt werden, auf der Indexseite zu langen Ladezeiten und JavaScriptfehlern führen.
name="twoclick_buttons_settings[twoclick_buttons_display_front]" id="twoclick_buttons_settings[twoclick_buttons_display_front]" group="twoclick_buttons_display" />
name="twoclick_buttons_settings[twoclick_buttons_display_page]" id="twoclick_buttons_settings[twoclick_buttons_display_page]" group="twoclick_buttons_display" />
In den Einzelartikeln wird das Plugin per default eingebunden. Dies bedarf keiner Option.
Ist die Option "Manuell (Shortcode)" gewählt, so kännen die Buttons mittels des Shortcodes [twoclick_buttons] in den Artikel eingebunden werden.
RT @ Bitte benutze das Format 'deinname', nicht 'RT @deinname'.

ID, 'twoclick_buttons') == null) { if(twoclick_buttons_get_option($var_sWhere) == 'before') { /** * Vor dem Beitrag einfügen */ return $var_sHtml . '

' . $content; } else { /** * Nach dem Beitrag einfügen */ return $content . $var_sHtml; } } else { /** * Keinen Button einfügen */ return $content; } } } } // 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')) /** * HTML generieren. * * @since 0.1 */ if(!function_exists('twoclick_buttons_generate_html')) { function twoclick_buttons_generate_html() { if(!is_singular()) { return '
' . twoclick_buttons_get_js(); } else { return '
'; } } } /** * 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_facebook_opengraph_tags(); } } } /** * Schreibe OpenGraph-Tags und Artikelbild in den * * @since 0.7 */ if(!function_exists('twoclick_facebook_opengraph_tags')) { function twoclick_facebook_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; } else { $var_sExcerpt = twoclick_buttons_generate_post_excerpt($post->post_content, 140); } /** * 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"; } } /** * 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 aus Ausgabe generieren. * * @since 0.4 */ if(!function_exists('twoclick_buttons_get_js')) { function twoclick_buttons_get_js() { global $post; if(!is_admin()) { $var_sPostId = get_the_ID(); $var_sPermalink = get_permalink($var_sPostId); $var_sTitle = rawurlencode(get_the_title($var_sPostId)); $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'); $array_DummyImages = array( 'facebook-dummy-image' => plugins_url(basename(dirname(__FILE__)) . '/images/empfehlen.png'), 'twitter-dummy-image' => plugins_url(basename(dirname(__FILE__)) . '/images/tweet.png'), 'googleplus-dummy-image' => plugins_url(basename(dirname(__FILE__)) . '/images/gplusone.png'), 'flattr-dummy-image' => plugins_url(basename(dirname(__FILE__)) . '/images/flattr.png') ); $var_sExcerpt = ''; if(has_excerpt()) { $var_sExcerpt = rawurlencode($post->post_excerpt); } else { $var_sExcerpt = rawurlencode(twoclick_buttons_generate_post_excerpt($post->post_content, 250)); } $var_sJavaScript = ''; /** * Abfrage, wo wir sind. Ob Einzelseite oder Index. * * since 0.6 */ if(is_singular()) { echo $var_sJavaScript; } else { return $var_sJavaScript; } } } } /** * 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-buttons', 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); ?>