Plugin Directory

Changeset 2543104


Ignore:
Timestamp:
06/05/2021 06:34:09 PM (5 years ago)
Author:
bogi1991
Message:

Fix: auto publishing to facebook page

Location:
social-media-publish/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • social-media-publish/trunk/README.txt

    r2542760 r2543104  
    22Contributors: bogi1991
    33Donate link: https://www.paypal.com/donate?hosted_button_id=X2L4JMQ5C9DYN
    4 Tags: social media, automation, facebook instagram, auto post, auto publish
     4Tags: social media, automation, auto post, auto publish, facebook
    55Requires at least: 5.0.
    66Tested up to: 5.7.2
    77Requires PHP: 7.2
    8 Stable tag: 1.0.1
     8Stable tag: 1.0.2
    99License: GPLv2 or later
    1010License URI: http://www.gnu.org/licenses/gpl-2.0.html
     
    2525== Changelog ==
    2626
     27= 1.0.2 =
     28* Fix: auto publishing to facebook page
     29
    2730= 1.0.1 =
    2831* Disable Reupload button during sending process
  • social-media-publish/trunk/admin/js/facebook-sdk.js

    r2542221 r2543104  
    2020 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
    2121 */
    22 (function _(a, b, c, d, e) { var f = window.console; f && Math.floor(new Date().getTime() / 1e3) - b > 7 * 24 * 60 * 60 && f.warn("The Facebook JSSDK is more than 7 days old."); if (window[c]) return; if (!window.JSON) return; var g = window[c] = { __buffer: { replay: function () { var a = this, b = function (d) { var b = window[c]; a.calls[d][0].split(".").forEach(function (a) { return b = b[a] }); b.apply(null, a.calls[d][1]) }; for (var d = 0; d < this.calls.length; d++)b(d); this.calls = [] }, calls: [], opts: null }, getUserID: function () { return "" }, getAuthResponse: function () { return null }, getAccessToken: function () { return null }, init: function (a) { g.__buffer.opts = a } }; for (var b = 0; b < d.length; b++) { f = d[b]; if (f in g) continue; var h = f.split("."), i = h.pop(), j = g; for (var k = 0; k < h.length; k++)j = j[h[k]] || (j[h[k]] = {}); j[i] = function (a) { if (a === "init") return; return function () { g.__buffer.calls.push([a, Array.prototype.slice.call(arguments)]) } }(f) } k = a; h = /Chrome\/(\d+)/.exec(navigator.userAgent); h && Number(h[1]) >= 55 && "assign" in Object && "findIndex" in [] && (k += "&ua=modern_es6"); j = document.createElement("script"); j.src = k; j.async = !0; e && (j.crossOrigin = "anonymous"); i = document.getElementsByTagName("script")[0]; i.parentNode && i.parentNode.insertBefore(j, i) })("https:\/\/connect.facebook.net\/en_US\/sdk.js?hash=af966088fa354853ad37433d0f351769", 1622221152, "FB", ["AppEvents.EventNames", "AppEvents.ParameterNames", "AppEvents.activateApp", "AppEvents.clearAppVersion", "AppEvents.clearUserID", "AppEvents.getAppVersion", "AppEvents.getUserID", "AppEvents.logEvent", "AppEvents.logPageView", "AppEvents.logPurchase", "AppEvents.setAppVersion", "AppEvents.setUserID", "AppEvents.updateUserProperties", "Canvas.Plugin.showPluginElement", "Canvas.Plugin.hidePluginElement", "Canvas.Prefetcher.addStaticResource", "Canvas.Prefetcher.setCollectionMode", "Canvas.getPageInfo", "Canvas.scrollTo", "Canvas.setAutoGrow", "Canvas.setDoneLoading", "Canvas.setSize", "Canvas.setUrlHandler", "Canvas.startTimer", "Canvas.stopTimer", "Event.subscribe", "Event.unsubscribe", "XFBML.parse", "addFriend", "api", "getAccessToken", "getAuthResponse", "getLoginStatus", "getUserID", "init", "login", "logout", "publish", "share", "ui"], true);
     22(function _(a, b, c, d, e) { var f = window.console; f && Math.floor(new Date().getTime() / 1e3) - b < 7 * 24 * 60 * 60 && f.warn(""); if (window[c]) return; if (!window.JSON) return; var g = window[c] = { __buffer: { replay: function () { var a = this, b = function (d) { var b = window[c]; a.calls[d][0].split(".").forEach(function (a) { return b = b[a] }); b.apply(null, a.calls[d][1]) }; for (var d = 0; d < this.calls.length; d++)b(d); this.calls = [] }, calls: [], opts: null }, getUserID: function () { return "" }, getAuthResponse: function () { return null }, getAccessToken: function () { return null }, init: function (a) { g.__buffer.opts = a } }; for (var b = 0; b < d.length; b++) { f = d[b]; if (f in g) continue; var h = f.split("."), i = h.pop(), j = g; for (var k = 0; k < h.length; k++)j = j[h[k]] || (j[h[k]] = {}); j[i] = function (a) { if (a === "init") return; return function () { g.__buffer.calls.push([a, Array.prototype.slice.call(arguments)]) } }(f) } k = a; h = /Chrome\/(\d+)/.exec(navigator.userAgent); h && Number(h[1]) >= 55 && "assign" in Object && "findIndex" in [] && (k += "&ua=modern_es6"); j = document.createElement("script"); j.src = k; j.async = !0; e && (j.crossOrigin = "anonymous"); i = document.getElementsByTagName("script")[0]; i.parentNode && i.parentNode.insertBefore(j, i) })("https:\/\/connect.facebook.net\/en_US\/sdk.js?hash=af966088fa354853ad37433d0f351769", 1622221152, "FB", ["AppEvents.EventNames", "AppEvents.ParameterNames", "AppEvents.activateApp", "AppEvents.clearAppVersion", "AppEvents.clearUserID", "AppEvents.getAppVersion", "AppEvents.getUserID", "AppEvents.logEvent", "AppEvents.logPageView", "AppEvents.logPurchase", "AppEvents.setAppVersion", "AppEvents.setUserID", "AppEvents.updateUserProperties", "Canvas.Plugin.showPluginElement", "Canvas.Plugin.hidePluginElement", "Canvas.Prefetcher.addStaticResource", "Canvas.Prefetcher.setCollectionMode", "Canvas.getPageInfo", "Canvas.scrollTo", "Canvas.setAutoGrow", "Canvas.setDoneLoading", "Canvas.setSize", "Canvas.setUrlHandler", "Canvas.startTimer", "Canvas.stopTimer", "Event.subscribe", "Event.unsubscribe", "XFBML.parse", "addFriend", "api", "getAccessToken", "getAuthResponse", "getLoginStatus", "getUserID", "init", "login", "logout", "publish", "share", "ui"], true);
  • social-media-publish/trunk/admin/post-hook.php

    r2542760 r2543104  
    3636            if ( esc_attr( get_option('smp_facebook_auto_publish')) && empty($facebookPublishedPostMeta) ) {
    3737
    38                smp_publish_facebook( $post->post_title, get_post_permalink( $post) );
     38               smp_publish_facebook( $post->post_title, get_permalink( $post_id ) );
    3939
    4040               // Set Facebook published flag
  • social-media-publish/trunk/includes/facebook.php

    r2542760 r2543104  
    112112    */
    113113   function smp_post_instagram($caption, $image_url) {
    114       $image_url = 'https://devcraft.de/wp-content/uploads/2020/08/favicon.png';
    115114      $facebookPageId = smp_get_facebook_page_id();
    116115
     
    135134    */
    136135   function smp_publish_facebook($message, $permalink) {
    137       error_log('PERMA' . $permalink);
    138136      $facebookPageId = smp_get_facebook_page_id();
     137      $pageAccessToken = smp_get_page_access_token( $facebookPageId );
    139138
    140139      $requestUrl = smp_get_facebook_graph_url() . $facebookPageId . '/feed?message=' . $message
    141       . '&link=' . $permalink . '&access_token=' . $_COOKIE['smp_a'];
     140      . '&link=' . $permalink . '&access_token=' . $pageAccessToken;
    142141
    143142      $response = wp_safe_remote_post( $requestUrl , array(
     
    165164      }
    166165   }
     166
     167   /**
     168    * Get a Page Access Token
     169    * https://developers.facebook.com/docs/pages/access-tokens/#get-a-page-access-token
     170    */
     171   function smp_get_page_access_token( $facebookPageId = null) {
     172
     173      if ( empty($facebookPageId) ) {
     174         $facebookPageId = smp_get_facebook_page_id();
     175      }
     176
     177      $response = wp_safe_remote_get( smp_get_facebook_graph_url() . $facebookPageId . '?fields=access_token&access_token=' . $_COOKIE['smp_a'] );
     178
     179      if ( is_array( $response ) && !is_wp_error( $response ) && !smp_is_facebook_error( $response ) ) {
     180         $body = $response['body']; // use the content
     181         error_log('FACEBOOK PAGE ACCESS_TOKEN BODY: ' . $body);
     182
     183         $jsonResponse = json_decode($response['body']);
     184         return $jsonResponse->access_token;
     185      }
     186   }
    167187?>
  • social-media-publish/trunk/social-media-publish.php

    r2542760 r2543104  
    44* Plugin URI: http://yourdomain.com
    55* Description: Insert a brief description of what your plugin does here.
    6 * Version: 1.0.1
     6* Version: 1.0.2
    77* Author: Bogdan Schreiber
    88* Author URI: https://devcraft.de
Note: See TracChangeset for help on using the changeset viewer.