1
0

Merge pull request #120 from psychoph/master

Update to social_share module to fix issues
This commit is contained in:
Bharat Mediratta 2012-09-01 21:58:58 -07:00
commit b58acc0729
9 changed files with 137 additions and 86 deletions

View File

@ -27,6 +27,7 @@ class Admin_Social_Share_Controller extends Admin_Controller {
$form = $this->_get_form();
if ($form->validate()) {
module::set_var("social_share", "general_impage_only", $form->general_settings->general_impage_only->value);
module::set_var("social_share", "facebook_share_enabled", $form->facebook_share_settings->facebook_share_enabled->value);
module::set_var("social_share", "facebook_share_layout", $form->facebook_share_settings->facebook_share_layout->value);
module::set_var("social_share", "facebook_share_link_text", $form->facebook_share_settings->facebook_share_link_text->value);
@ -42,6 +43,8 @@ class Admin_Social_Share_Controller extends Admin_Controller {
module::set_var("social_share", "google_enabled", $form->google_settings->google_enabled->value);
module::set_var("social_share", "google_size", $form->google_settings->google_size->value);
module::set_var("social_share", "google_annotation", $form->google_settings->google_annotation->value);
module::set_var("social_share", "pinterest_enabled", $form->pinterest_settings->pinterest_enabled->value);
module::set_var("social_share", "pinterest_count_location", $form->pinterest_settings->pinterest_count_location->value);
module::set_var("social_share", "twitter_enabled", $form->twitter_settings->twitter_enabled->value);
module::set_var("social_share", "twitter_count_location", $form->twitter_settings->twitter_count_location->value);
module::set_var("social_share", "twitter_size", $form->twitter_settings->twitter_size->value);
@ -62,6 +65,12 @@ class Admin_Social_Share_Controller extends Admin_Controller {
private function _get_form() {
$form = new Forge("admin/social_share/handler", "", "post", array("id" => "g-admin-form"));
/// General Settings
$group_general = $form->group("general_settings")->label(t("General Settings"));
$group_general->checkbox("general_impage_only")->label(t("Display the enabled buttons on image and movie pages only"))
->checked(module::get_var("social_share", "general_impage_only", true) == 1);
/// Facebook share settings
$group_facebook_share = $form->group("facebook_share_settings")->label(t("Facebook Share Button Settings"));
$group_facebook_share->checkbox("facebook_share_enabled")->label(t("Display the button"))
->checked(module::get_var("social_share", "facebook_share_enabled", false) == 1);
@ -73,7 +82,8 @@ class Admin_Social_Share_Controller extends Admin_Controller {
->selected(module::get_var("social_share", "facebook_share_layout"));
$group_facebook_share->input("facebook_share_link_text")->label(t('Enter the text to place next to the Facebook icon.'))
->value(module::get_var("social_share", "facebook_share_link_text", "Share"));
/// Facebook like settings
$group_facebook_like = $form->group("facebook_like_settings")->label(t("Facebook Like Button Settings"));
$group_facebook_like->checkbox("facebook_like_enabled")->label(t("Display the button"))
->checked(module::get_var("social_share", "facebook_like_enabled", false) == 1);
@ -107,7 +117,8 @@ class Admin_Social_Share_Controller extends Admin_Controller {
"button_count" => t("Button count"),
"box_count" => t("Box count")))
->selected(module::get_var("social_share", "facebook_like_layout"));
/// Google settings
$group_google = $form->group("google_settings")->label(t("Google+ +1 Button Settings"));
$group_google->checkbox("google_enabled")->label(t("Display the button"))
->checked(module::get_var("social_share", "google_enabled", false) == 1);
@ -125,6 +136,18 @@ class Admin_Social_Share_Controller extends Admin_Controller {
"none" => t("None")))
->selected(module::get_var("social_share", "google_annotation"));
/// Pinterest settings
$group_pinterest = $form->group("pinterest_settings")->label(t("Pinterest Pinit Settings"));
$group_pinterest->checkbox("pinterest_enabled")->label(t("Display the button"))
->checked(module::get_var("social_share", "pinterest_enabled", false) == 1);
$group_pinterest->dropdown("pinterest_count_location")
->label(t("Tweet count location"))
->options(array("horizontal" => t("Horizontal"),
"vertical" => t("Vertical"),
"none" => t("None")))
->selected(module::get_var("social_share", "pinterest_count_location"));
/// Twitter settings
$group_twitter = $form->group("twitter_settings")->label(t("Twitter Tweet Settings"));
$group_twitter->checkbox("twitter_enabled")->label(t("Display the button"))
->checked(module::get_var("social_share", "twitter_enabled", false) == 1);

View File

@ -18,30 +18,37 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class social_share_block_Core {
static function get_site_list() {
return array(
"social_share" => t("Social Share"));
}
static function get_site_list() {
return array("social_share" => t("Social Share"));
}
static function get($block_id, $theme) {
$block = new Block();
$block->css_id = "g-social-share";
$block->title = 'Share With Friends';
$block->content = '';
if(module::get_var("social_share", "facebook_share_enabled")){
$block->content .= new View("facebook_share.html");
}
if(module::get_var("social_share", "facebook_like_enabled")){
$block->content .= new View("facebook_like.html");
}
if(module::get_var("social_share", "google_enabled")){
$block->content .= new View("google.html");
}
if(module::get_var("social_share", "twitter_enabled")){
$block->content .= new View("twitter.html");
}
return $block;
}
static function get($block_id, $theme) {
/// Check if the user wants to show the block on all pages or just the image and movie page types.
$impageonly = module::get_var("social_share", "general_impage_only");
$showblock = !$impageonly || ($impageonly && ($theme->page_subtype == "photo") || ($theme->page_subtype == "movie"));
if ($showblock){
$block = new Block();
$block->css_id = "g-social-share";
$block->title = 'Share With Friends';
$block->content = '';
if(module::get_var("social_share", "facebook_share_enabled")){
$block->content .= new View("facebook_share.html");
}
if(module::get_var("social_share", "facebook_like_enabled")){
$block->content .= new View("facebook_like.html");
}
if(module::get_var("social_share", "google_enabled")){
$block->content .= new View("google.html");
}
if(module::get_var("social_share", "pinterest_enabled")){
$block->content .= new View("pinterest.html");
}
if(module::get_var("social_share", "twitter_enabled")){
$block->content .= new View("twitter.html");
}
return $block;
}
}
}

View File

@ -18,39 +18,46 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class social_share_installer {
static function deactivate() {
module::clear_var("social_share", "facebook_share_enabled");
module::clear_var("social_share", "facebook_share_layout");
module::clear_var("social_share", "facebook_share_link_text");
module::clear_var("social_share", "facebook_like_enabled");
module::clear_var("social_share", "facebook_like_appId");
module::clear_var("social_share", "facebook_like_adminId");
module::clear_var("social_share", "facebook_like_site_name");
module::clear_var("social_share", "facebook_like_code_type");
module::clear_var("social_share", "facebook_like_show_faces");
module::clear_var("social_share", "facebook_like_send");
module::clear_var("social_share", "facebook_like_action");
module::clear_var("social_share", "facebook_like_layout");
module::clear_var("social_share", "google_enabled");
module::clear_var("social_share", "google_size");
module::clear_var("social_share", "google_annotation");
module::clear_var("social_share", "twitter_enabled");
module::clear_var("social_share", "twitter_count_location");
module::clear_var("social_share", "twitter_size");
}
static function upgrade($version) {
if ($version < 1) {
module::set_version("social_share", $version = 1);
static function deactivate() {
module::clear_var("social_share", "general_impage_only");
module::clear_var("social_share", "facebook_share_enabled");
module::clear_var("social_share", "facebook_share_layout");
module::clear_var("social_share", "facebook_share_link_text");
module::clear_var("social_share", "facebook_like_enabled");
module::clear_var("social_share", "facebook_like_appId");
module::clear_var("social_share", "facebook_like_adminId");
module::clear_var("social_share", "facebook_like_site_name");
module::clear_var("social_share", "facebook_like_code_type");
module::clear_var("social_share", "facebook_like_show_faces");
module::clear_var("social_share", "facebook_like_send");
module::clear_var("social_share", "facebook_like_action");
module::clear_var("social_share", "facebook_like_layout");
module::clear_var("social_share", "google_enabled");
module::clear_var("social_share", "google_size");
module::clear_var("social_share", "google_annotation");
module::clear_var("social_share", "pinterest_enabled");
module::clear_var("social_share", "pinterest_count_location");
module::clear_var("social_share", "twitter_enabled");
module::clear_var("social_share", "twitter_count_location");
module::clear_var("social_share", "twitter_size");
}
static function upgrade($version) {
if ($version < 1) {
module::set_version("social_share", $version = 1);
}
if ($version < 2) {
module::set_var("social_share", "facebook_share_enabled", module::get_var("social_share", "facebook"));
module::clear_var("social_share", "facebook");
module::set_var("social_share", "google_enabled", module::get_var("social_share", "google"));
module::clear_var("social_share", "google");
module::set_var("social_share", "twitter_enabled", module::get_var("social_share", "twitter"));
module::clear_var("social_share", "twitter");
module::set_version("social_share", $version = 2);
if ($version < 2) {
module::set_var("social_share", "facebook_share_enabled", module::get_var("social_share", "facebook"));
module::clear_var("social_share", "facebook");
module::set_var("social_share", "google_enabled", module::get_var("social_share", "google"));
module::clear_var("social_share", "google");
module::set_var("social_share", "twitter_enabled", module::get_var("social_share", "twitter"));
module::clear_var("social_share", "twitter");
module::set_version("social_share", $version = 2);
}
if ($version < 3) {
module::set_version("social_share", $version = 3);
}
}
}
}

View File

@ -18,21 +18,24 @@
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
*/
class social_share_theme_Core {
static function head($theme) {
if ($theme->item()) {
$item = $theme->item();
$url = $item->thumb_url(true);
$appId = module::get_var("social_share", "facebook_like_appId");
$adminId = module::get_var("social_share", "facebook_like_adminId");
$site_name = module::get_var("social_share", "facebook_like_site_name");
$selfURL = url::abs_current(true);
return "\t<meta property=\"og:image\" content=\"$url\"/>
<meta property=\"og:title\" content=\"$item->title\"/>
<meta property=\"og:type\" content=\"article\"/>
<meta property=\"og:url\" content=\"$selfURL\"/>
<meta property=\"og:site_name\" content=\"$site_name\"/>
<meta property=\"fb:app_id\" content=\"$appId\"/>
<meta property=\"fb:admins\" content=\"$adminId\"/>";
}
}
static function head($theme) {
$impageonly = module::get_var("social_share", "general_impage_only");
$showblock = !$impageonly || ($impageonly && ($theme->page_subtype == "photo") || ($theme->page_subtype == "movie"));
if ($showblock && $theme->item()) {
$item = $theme->item();
$url = $item->thumb_url(true);
$appId = module::get_var("social_share", "facebook_like_appId");
$adminId = module::get_var("social_share", "facebook_like_adminId");
$site_name = module::get_var("social_share", "facebook_like_site_name");
$selfURL = url::abs_current(true);
return "\t<meta property=\"og:image\" content=\"$url\"/>
<meta property=\"og:title\" content=\"$item->title\"/>
<meta property=\"og:type\" content=\"article\"/>
<meta property=\"og:url\" content=\"$selfURL\"/>
<meta property=\"og:site_name\" content=\"$site_name\"/>
<meta property=\"fb:app_id\" content=\"$appId\"/>
<meta property=\"fb:admins\" content=\"$adminId\"/>";
}
}
}

View File

@ -1,6 +1,6 @@
name = "Social Share"
description = "Adds links to share the page to social media sites in the sidebar."
version = 2
version = 3
author_name = "jasonhardin"
author_url = "http://codex.gallery2.org/User:psychoph"
info_url = "http://codex.gallery2.org/Gallery3:Modules:social_share"

View File

@ -17,7 +17,6 @@ if (module::get_var("social_share", "facebook_like_send")) {
$send = "false";
}
?>
<div class="g-social_share-facebook_like">
<?php if ($codeType == 'iframe'){ ?>
@ -28,14 +27,13 @@ if (module::get_var("social_share", "facebook_like_send")) {
&amp;show_faces=<?= $show_faces ?>
&amp;width=180
&amp;locale=<?= locales::cookie_locale(); ?>
&amp;action=<?= $layout ?>
&amp;action=<?= $action ?>
&amp;colorscheme=light&amp;height=<?= $hite; ?>" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:180px; height:<?= $hite; ?>px;" allowTransparency="true">
</iframe>
<?php } else { ?>
<div id="fb-root"></div>
<script>(function(d, s, id) {
window.FB = null;FB=null;// this is needed for the facebook share button being on.
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
@ -45,12 +43,11 @@ if (module::get_var("social_share", "facebook_like_send")) {
<?php if($codeType == 'xfbml'){?>
<fb:like href="<?= $selfURL; ?>" send="<?= $send ?>" width="180" show_faces="<?= $show_faces ?>" layout="<?= $layout?>" action="<?= $layout ?>"></fb:like>
<fb:like href="http://test.com" send="true" width="180" show_faces="false"></fb:like>
<fb:like href="<?= $selfURL; ?>" send="<?= $send ?>" width="180" show_faces="<?= $show_faces ?>" layout="<?= $layout?>" action="<?= $action ?>"></fb:like>
<?php } else { ?>
<div class="fb-like" data-href="<?= $selfURL; ?>" data-send="<?= $send ?>" data-layout="<?= $layout?>" data-width="180" data-show-faces="<?= $show_faces ?>" data-action="<?= $layout ?>"></div>
<div class="fb-like" data-href="<?= $selfURL; ?>" data-send="<?= $send ?>" data-layout="<?= $layout?>" data-width="180" data-show-faces="<?= $show_faces ?>" data-action="<?= $action ?>"></div>
<?php }
}

View File

@ -1,5 +1,5 @@
<?php defined("SYSPATH") or die("No direct script access.") ?>
<?php defined("SYSPATH") or die("No direct script access.")?>
<div class="g-social_share-facebook_share">
<a id="facebookicon" name="fb_share" type="<?= module::get_var("social_share", "facebook_share_layout") ?>"><?= module::get_var("social_share", "facebook_share_link_text") ?></a>
<a id="facebookicon" name="fb_share" type="<?= module::get_var("social_share", "facebook_share_layout") ?>"></a>
<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share" type="text/javascript"></script>
</div>

View File

@ -11,7 +11,7 @@
(function() {
var po = document.createElement('script');
po.type = 'text/javascript';
x2po.async = true;
po.async = true;
po.src = 'https://apis.google.com/js/plusone.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();

View File

@ -0,0 +1,14 @@
<?php defined("SYSPATH") or die("No direct script access.");
if ($theme->item()) {
$url = urlencode(url::abs_current(true));
$item = $theme->item();
$media = urlencode($item->thumb_url(true));
$description=urlencode($item->description);
?>
<div class="g-social_share-pinterest_pinit">
<a href="http://pinterest.com/pin/create/button/?url=<?= $url; ?>&media=<?= $media; ?>&description=<?= $description; ?>" class="pin-it-button" count-layout="<?= module::get_var("social_share", "pinterest_count_location") ?>">
<img border="0" src="//assets.pinterest.com/images/PinExt.png" title="Pin It" />
</a>
<script type="text/javascript" src="//assets.pinterest.com/js/pinit.js"></script>
</div>
<?php } ?>