]> git.mxchange.org Git - friendica.git/commitdiff
toggles "post to facebook, post to twitter", etc.
authorFriendika <info@friendika.com>
Fri, 11 Feb 2011 10:35:19 +0000 (02:35 -0800)
committerFriendika <info@friendika.com>
Fri, 11 Feb 2011 10:35:19 +0000 (02:35 -0800)
addon/facebook/facebook.php
addon/twitter/twitter.php
boot.php
mod/network.php
mod/profile.php
view/de/jot.tpl
view/en/jot.tpl
view/fr/jot.tpl
view/it/jot.tpl
view/theme/duepuntozero/style.css
view/theme/loozah/style.css

index a41344a3d00cbb7411bcb39c788a7adb91a7d2c3..2a5715b2e03b2c3933195a62fddbc9e832180f6f 100644 (file)
@@ -3,6 +3,9 @@
 /**
  * This module still needs a lot of work, but is functional today.
  * Please review this section if you upgrade because things will change.
+ * If you have issues upgrading, remove facebook from the addon list, 
+ * view a page on your site, then add it back to the list. This will reset
+ * all of the plugin 'hooks'. 
  *
  * 1. register an API key from developer.facebook.com
  *   a. We'd be very happy if you include "Friendika" in the application name
@@ -77,7 +80,7 @@ function facebook_init(&$a) {
                        if(strpos($token,'&') !== false)
                                $token = substr($token,0,strpos($token,'&'));
                        set_pconfig($uid,'facebook','access_token',$token);
-                       set_pconfig($uid,'facebook','post','true');
+                       set_pconfig($uid,'facebook','post','1');
                }
 
                // todo: is this a browser session or a server session? where do we go? 
@@ -118,12 +121,41 @@ function facebook_content(&$a) {
 }
 
 function facebook_install() {
-       register_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook');
+       register_hook('post_local_end',  'addon/facebook/facebook.php', 'facebook_post_hook');
+       register_hook('jot_networks',    'addon/facebook/facebook.php', 'facebook_jot_nets');
+       register_hook('post_local_start','addon/facebook/facebook.php', 'facebook_post_local');
+
 }
 
 
 function facebook_uninstall() {
-       unregister_hook('post_local_end', 'addon/facebook/facebook.php', 'facebook_post_hook');
+       unregister_hook('post_local_end',  'addon/facebook/facebook.php', 'facebook_post_hook');
+       unregister_hook('jot_networks',    'addon/facebook/facebook.php', 'facebook_jot_nets');
+       unregister_hook('post_local_start','addon/facebook/facebook.php', 'facebook_post_local');
+}
+
+
+function facebook_jot_nets(&$a,&$b) {
+       if(! local_user())
+               return;
+
+       $fb_post = get_pconfig(local_user(),'facebook','post');
+       if(intval($fb_post) == 1) {
+               $fb_defpost = get_pconfig(local_user(),'facebook','post_by_default');
+               $selected = ((intval($fb_defpost == 1)) ? ' selected="selected" ' : '');
+               $b .= '<div class="profile-jot-net"><input type="checkbox" name="facebook_enable" $selected value="1" /> ' 
+                       . t('Post to Facebook') . '</div>';     
+       }
+}
+
+function facebook_post_local(&$a,&$b) {
+       if(! local_user())
+               return;
+
+       if((x($b,'facebook_enable')) && (intval($b['facebook_enable'])))
+               set_pconfig(local_user(),'facebook','enable','1');
+       else
+               del_pconfig(local_user(),'facebook','enable');
 }
 
 
@@ -143,10 +175,11 @@ function facebook_post_hook(&$a,&$b) {
 
                if($appid && $secret) {
 
-                       $fb_post  = get_pconfig(local_user(),'facebook','post');
-                       $fb_token = get_pconfig(local_user(),'facebook','access_token');
+                       $fb_post   = intval(get_pconfig(local_user(),'facebook','post'));
+                       $fb_enable = intval(get_pconfig(local_user(),'facebook','enable'));
+                       $fb_token  = get_pconfig(local_user(),'facebook','access_token');
 
-                       if($fb_post && $fb_token) {
+                       if($fb_post && $fb_token && $fb_enable) {
                                require_once('library/facebook.php');
                                require_once('include/bbcode.php');     
 
index a0c6db931f36af4a37ed74a57f12a54f4b763855..6a0365e09df962369621f5cdc38585f73560f4e7 100644 (file)
@@ -40,6 +40,8 @@ function twitter_install() {
        register_hook('plugin_settings', 'addon/twitter/twitter.php', 'twitter_settings'); 
        register_hook('plugin_settings_post', 'addon/twitter/twitter.php', 'twitter_settings_post');
        register_hook('post_local_end', 'addon/twitter/twitter.php', 'twitter_post_hook');
+       register_hook('jot_networks', 'addon/twitter/twitter.php', 'twitter_jot_nets');
+       register_hook('post_local_start', 'addon/twitter/twitter.php', 'twitter_post_start');
        logger("installed twitter");
 }
 
@@ -48,8 +50,39 @@ function twitter_uninstall() {
        unregister_hook('plugin_settings', 'addon/twitter/twitter.php', 'twitter_settings'); 
        unregister_hook('plugin_settings_post', 'addon/twitter/twitter.php', 'twitter_settings_post');
        unregister_hook('post_local_end', 'addon/twitter/twitter.php', 'twitter_post_hook');
+       unregister_hook('jot_networks', 'addon/twitter/twitter.php', 'twitter_jot_nets');
+       unregister_hook('post_local_start', 'addon/twitter/twitter.php', 'twitter_post_start');
+
+}
+
+function twitter_jot_nets(&$a,&$b) {
+       if(! local_user())
+               return;
+
+       $tw_post = get_pconfig(local_user(),'twitter','post');
+       if(intval($tw_post) == 1) {
+               $tw_defpost = get_pconfig(local_user(),'twitter','post_by_default');
+               $selected = ((intval($tw_defpost == 1)) ? ' selected="selected" ' : '');
+               $b .= '<div class="profile-jot-net"><input type="checkbox" name="twitter_enable" $selected value="1" /> ' 
+                       . t('Post to Twitter') . '</div>';      
+       }
+
+
 }
 
+function twitter_post_start(&$a,&$b) {
+       if(! local_user())
+               return;
+
+       if((x($b,'twitter_enable')) && (intval($b['twitter_enable'])))
+               set_pconfig(local_user(),'twitter','enable','1');
+       else
+               del_pconfig(local_user(),'twitter','enable');
+
+
+}
+
+
 function twitter_settings_post ($a,$post) {
        if(! local_user())
                return;
@@ -181,8 +214,9 @@ function twitter_post_hook(&$a,&$b) {
                if($ckey && $csecret && $otoken && $osecret) {
 
                        $twitter_post = get_pconfig(local_user(),'twitter','post');
+                       $twitter_enable = intval(get_pconfig(local_user(),'twitter','enable'));
 
-                       if($twitter_post) {
+                       if($twitter_post && $twitter_enable) {
                                require_once('addon/twitter/twitteroauth.php');
                                require_once('include/bbcode.php');     
                                $tweet = new TwitterOAuth($ckey,$csecret,$otoken,$osecret);
index f1edf798eabc62f1f19e2d95d4b705d23e42fd2e..9c87127509ca5934ceeef14262915266d5e40410 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -516,6 +516,7 @@ function check_config(&$a) {
                        }
                }
        }
+       load_hooks();
 
        return;
 }}
@@ -2189,6 +2190,7 @@ function unregister_hook($hook,$file,$function) {
 if(! function_exists('load_hooks')) {
 function load_hooks() {
        $a = get_app();
+       $a->hooks = array();
        $r = q("SELECT * FROM `hook` WHERE 1");
        if(count($r)) {
                foreach($r as $rr) {
index b0196f92a4227b3a8d014e27432d6b534a467bec..f11db45a8b5647c4300df48caeb2ca71313ccf0d 100644 (file)
@@ -79,8 +79,10 @@ function network_content(&$a, $update = 0) {
 
                $celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false);
 
-               $jotplugins = "";
+               $jotplugins = '';
+               $jotnets = '';
                call_hooks('jot_tool', $jotplugins);
+               call_hooks('jot_networks', $jotnets);
 
                $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));        
 
@@ -90,6 +92,7 @@ function network_content(&$a, $update = 0) {
                        '$defloc' => $a->user['default-location'],
                        '$visitor' => 'block',
                        '$emailcc' => t('CC: email addresses'),
+                       '$jotnets' => $jotnets,
                        '$emtitle' => t('Example: bob@example.com, mary@example.com'),
                        '$lockstate' => $lockstate,
                        '$acl' => populate_acl((($group) ? $group_acl : $a->user), $celeb),
index 3b4616a34f14a878c4aef09b9d4e6602e0630654..8ec29d38279aec6be0c1423fb3eb5965c1c69c00 100644 (file)
@@ -135,9 +135,12 @@ function profile_content(&$a, $update = 0) {
                        else
                                $lockstate = 'unlock';
        
-                       $jotplugins = "";
+                       $jotplugins = '';
+                       $jotnets = '';
                        call_hooks('jot_tool', $jotplugins); 
 
+                       call_hooks('jot_networks', $jotnets);
+
                        $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));        
 
                        $o .= replace_macros($tpl,array(
@@ -147,6 +150,7 @@ function profile_content(&$a, $update = 0) {
                                '$visitor' => (($is_owner || $commvisitor) ? 'block' : 'none'),
                                '$lockstate' => $lockstate,
                                '$emailcc' => t('CC: email addresses'),
+                               '$jotnets' => $jotnets,
                                '$emtitle' => t('Example: bob@example.com, mary@example.com'),
                                '$bang' => '',
                                '$acl' => (($is_owner) ? populate_acl($a->user, $celeb) : ''),
index 545bbdadd2d553e0c691ed05b5dfd26b2773ed30..db73b17a648fda7d54e1e6460d3c70c86982cac5 100644 (file)
        <div id="profile-rotator-wrapper" style="display: $visitor;" >
                <img id="profile-rotator" src="images/rotator.gif" alt="Bitte warten" title="Bitte warten" style="display: none;" />
        </div> 
-       <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><img id="jot-perms-icon" src="images/$lockstate_icon.gif"  alt="Berechtigungseinstellungen" title="Berechtigungseinstellungen" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper');" />$bang</div>
+       <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><img id="jot-perms-icon" src="images/$lockstate_icon.gif"  alt="Berechtigungseinstellungen" title="Berechtigungseinstellungen" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper'); openClose('profile-jot-networks');" />$bang</div>
        <div id="profile-jot-perms-end"></div>
        <div id="profile-jot-email-wrapper" style="display: none;" >
        <div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle">
        <div id="profile-jot-email-end"></div>
        </div>
+       <div id="profile-jot-networks" style="display: none;" >
+       $jotnets
+       </div>
+       <div id="profile-jot-networks-end"></div>
        <div id="profile-jot-acl-wrapper" style="display: none;" >$acl</div>
 </div>
 
index 5f99357780d23a92a81caefded93bc45d6a86e18..7c6a857e86e7323a608adf292cc6f94801213142 100644 (file)
        <div id="profile-rotator-wrapper" style="display: $visitor;" >
                <img id="profile-rotator" src="images/rotator.gif" alt="Please wait" title="Please wait" style="display: none;" />
        </div> 
-       <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><img id="jot-perms-icon" src="images/$lockstate_icon.gif"  alt="Permission Settings" title="Permission Settings" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper');" />$bang</div>
+       <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><img id="jot-perms-icon" src="images/$lockstate_icon.gif"  alt="Permission Settings" title="Permission Settings" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper'); openClose('profile-jot-networks');" />$bang</div>
        <div id="profile-jot-perms-end"></div>
        <div id="profile-jot-email-wrapper" style="display: none;" >
        <div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle">
        <div id="profile-jot-email-end"></div>
        </div>
+       <div id="profile-jot-networks" style="display: none;" >
+       $jotnets
+       </div>
+       <div id="profile-jot-networks-end"></div>
        <div id="profile-jot-acl-wrapper" style="display: none;" >$acl</div>
 </div>
 
index 720cb0d1bcad02117a76f968db6ef9bd97fb9d00..d64632da0d4f2ba141878723027de114e261b27d 100644 (file)
        <div id="profile-rotator-wrapper" style="display: $visitor;" >
                <img id="profile-rotator" src="images/rotator.gif" alt="Please wait" title="Please wait" style="display: none;" />
        </div> 
-       <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><img id="jot-perms-icon" src="images/$lockstate_icon.gif"  alt="Permission Settings" title="Permission Settings" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper');" />$bang</div>
+       <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><img id="jot-perms-icon" src="images/$lockstate_icon.gif"  alt="Permission Settings" title="Permission Settings" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper'); openClose('profile-jot-networks');" />$bang</div>
        <div id="profile-jot-perms-end"></div>
        <div id="profile-jot-email-wrapper" style="display: none;" >
        <div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle">
        <div id="profile-jot-email-end"></div>
        </div>
-
+       <div id="profile-jot-networks" style="display: none;" >
+       $jotnets
+       </div>
+       <div id="profile-jot-networks-end"></div>
        <div id="profile-jot-acl-wrapper" style="display: none;" >$acl</div>
 </div>
 
index eae3ecba8b26b3bf68a2d316009ca5b04e9d51c1..c4b63eb01a6dbebe5cca2ca05adbfa4d911a5cde 100644 (file)
        <div id="profile-rotator-wrapper" style="display: $visitor;" >
                <img id="profile-rotator" src="images/rotator.gif" alt="Attendi" title="Attendi" style="display: none;" />
        </div> 
-       <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><img id="jot-perms-icon" src="images/$lockstate_icon.gif"  alt="Impostazione permessi" title="Impostazione permessi" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper');" />$bang</div>
+       <div id="profile-jot-perms" class="profile-jot-perms" style="display: $visitor;" ><img id="jot-perms-icon" src="images/$lockstate_icon.gif"  alt="Impostazione permessi" title="Impostazione permessi" onClick="openClose('profile-jot-acl-wrapper'); openClose('profile-jot-email-wrapper'); openClose('profile-jot-networks');" />$bang</div>
        <div id="profile-jot-perms-end"></div>
        <div id="profile-jot-email-wrapper" style="display: none;" >
        <div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle">
        <div id="profile-jot-email-end"></div>
        </div>
-
+       <div id="profile-jot-networks" style="display: none;" >
+       $jotnets
+       </div>
+       <div id="profile-jot-networks-end"></div>
        <div id="profile-jot-acl-wrapper" style="display: none;" >$acl</div>
 </div>
 
index 0c56c423313d32122513f2e870fab8a5300a3588..45e5efb6c4d06fcf56eae136ec6d71b1201ec4ac 100644 (file)
@@ -960,6 +960,17 @@ input#dfrn-url {
 #profile-jot-plugin-end{
   clear: both;
 }
+.profile-jot-net {
+       float: left;
+       margin-right: 10px;
+       margin-top: 5px;
+       margin-bottom: 5px;
+}
+
+#profile-jot-networks-end {
+       clear: both;
+}
+
 #profile-jot-end {
        /*clear: both;*/
        margin-bottom: 30px;
index d7d735d6df337708c832bab7aed5ae53d6954f45..2a037bf9f3696ffb986733410a1ba40b52302068 100644 (file)
@@ -1085,6 +1085,17 @@ input#dfrn-url {
 #profile-jot-plugin-end {
   clear:both;
 }
+.profile-jot-net {
+       float: left;
+       margin-right: 10px;
+       margin-top: 5px;
+       margin-bottom: 5px;
+}
+
+#profile-jot-networks-end {
+       clear: both;
+}
+
 #profile-jot-end {
        clear: both;
        margin-bottom: 30px;