WordPress.org

Plugin Directory

Changeset 422881


Ignore:
Timestamp:
08/13/11 07:22:13 (3 years ago)
Author:
alexkingorg
Message:

version 1.0.1

Location:
social/trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • social/trunk/README.txt

    r421835 r422881  
    44Requires at least: 3.2 
    55Tested up to: 3.2.1 
    6 Stable tag: 1.0 
     6Stable tag: 1.0.1 
    77 
    88Broadcast posts to Twitter and/or Facebook, pull in items from each as comments, and allow commenters to use their Twitter/Facebook identities. 
     
    169169== Changelog == 
    170170 
     171= 1.0.1 = 
     172* Automatic CRON jobs should run correctly on more configurations. 
     173* Facebook replies to broadcasted posts are aggregated. 
     174* Twitter comment dates are recorded properly. 
     175* Miscellaneous bug fixes. 
     176 
    171177= 1.0 = 
    172178* Initial release 
  • social/trunk/assets/social.js

    r421835 r422881  
    55    } 
    66    else { 
    7         var $parent = $window.closest('.social-post'); 
     7        var $parent = jQuery('.social-post'); 
    88        jQuery.get($parent.find('#reload_url').val(), {}, function(response){ 
    99            if (response.result == 'success') { 
  • social/trunk/lib/social/helper.php

    r421835 r422881  
    9292            $url = ($admin ? admin_url('options-general.php?page=social.php') : site_url('?authorized=true&p=' . $_GET['p'])); 
    9393        } 
    94         return Social::$api_url . $service . '/authorize?redirect_to=' . urlencode($url); 
     94         
     95        return apply_filters(Social::$prefix.'authorize_url', $service, Social::$api_url . $service . '/authorize?redirect_to=' . urlencode($url)); 
    9596    } 
    9697 
  • social/trunk/social-facebook.php

    r421835 r422881  
    66 */ 
    77add_filter(Social::$prefix . 'register_service', array('Social_Facebook', 'register_service')); 
     8add_filter(Social::$prefix . 'authorize_url', array('Social_Facebook', 'authorize_url'), 10, 2); 
    89 
    910final class Social_Facebook extends Social_Service implements Social_IService { 
     
    2223 
    2324        return $services; 
     25    } 
     26 
     27    /** 
     28     * Filters the authorize URL. 
     29     * 
     30     * @static 
     31     * @param  string  $service 
     32     * @param  string  $url 
     33     * @return string 
     34     */ 
     35    public static function authorize_url($service, $url) { 
     36        if ($service == 'facebook') { 
     37            $url .= '&req_perms=publish_stream,read_stream'; 
     38        } 
     39 
     40        return $url; 
    2441    } 
    2542 
     
    92109     */ 
    93110    public function profile_url($account) { 
     111        if (!isset($account->user->link)) { 
     112            return 'http://facebook.com/profile.php?id='.$account->user->id; 
     113        } 
    94114        return $account->user->link; 
    95115    } 
     
    143163        $urls = apply_filters(Social::$prefix . $this->service . '_search_urls', $urls); 
    144164        foreach ($urls as $url) { 
    145             $url = 'https://graph.facebook.com/search?type=post&q=' . $url; 
    146             $request = wp_remote_get($url); 
    147             if (!is_wp_error($request)) { 
    148                 $response = json_decode($request['body']); 
    149  
    150                 if (isset($response->data) and is_array($response->data) and count($response->data)) { 
    151                     $results = array(); 
    152                     foreach ($response->data as $result) { 
    153                         if ((is_array($post_comments) and in_array($result->id, array_values($post_comments))) or 
    154                             (is_array($broadcasted_ids) and in_array($result->id, array_values($broadcasted_ids))) 
    155                         ) { 
    156                             Social_Aggregate_Log::instance($post->ID)->add($this->service, $result->id, 'url', true); 
    157                             continue; 
     165            if (!empty($url)) { 
     166                $url = 'https://graph.facebook.com/search?type=post&q=' . $url; 
     167                $request = wp_remote_get($url); 
     168                if (!is_wp_error($request)) { 
     169                    $response = json_decode($request['body']); 
     170 
     171                    if (isset($response->data) and is_array($response->data) and count($response->data)) { 
     172                        $results = array(); 
     173                        foreach ($response->data as $result) { 
     174                            if ((is_array($post_comments) and in_array($result->id, array_values($post_comments))) or 
     175                                (is_array($broadcasted_ids) and in_array($result->id, array_values($broadcasted_ids))) 
     176                            ) { 
     177                                Social_Aggregate_Log::instance($post->ID)->add($this->service, $result->id, 'url', true); 
     178                                continue; 
     179                            } 
     180 
     181                            Social_Aggregate_Log::instance($post->ID)->add($this->service, $result->id, 'url'); 
     182                            $post_comments[] = $result->id; 
     183                            $results[] = $result; 
    158184                        } 
    159  
    160                         Social_Aggregate_Log::instance($post->ID)->add($this->service, $result->id, 'url'); 
    161                         $post_comments[] = $result->id; 
    162                         $results[] = $result; 
    163185                    } 
    164186                } 
     
    181203                    if (isset($broadcasted_ids[$account->user->id])) { 
    182204                        $id = explode('_', $broadcasted_ids[$account->user->id]); 
    183                         $url = 'https://graph.facebook.com/' . $id[1] . '/comments'; 
    184                         $request = wp_remote_get($url); 
    185                         if (!is_wp_error($request)) { 
    186                             $response = json_decode($request['body']); 
    187  
    188                             if (isset($response->data) and is_array($response->data) and count($response->data)) { 
    189                                 foreach ($response->data as $comment) { 
    190                                     if ((is_array($post_comments) and in_array($comment->id, array_values($post_comments))) or 
    191                                         (is_array($broadcasted_ids) and in_array($comment->id, array_values($broadcasted_ids))) 
    192                                     ) { 
    193                                         Social_Aggregate_Log::instance($post->ID)->add($this->service, $comment->id, 'reply', true, array('parent_id' => $id[0])); 
    194                                         continue; 
    195                                     } 
    196                                     Social_Aggregate_Log::instance($post->ID)->add($this->service, $comment->id, 'reply', false, array('parent_id' => $id[0])); 
    197                                     $post_comments[] = $comment->id; 
    198                                     $results[] = $comment; 
     205                        $response = $this->request($account, $id[1].'/comments')->response; 
     206                        if (isset($response->data) and is_array($response->data) and count($response->data)) { 
     207                            foreach ($response->data as $comment) { 
     208                                if ((is_array($post_comments) and in_array($comment->id, array_values($post_comments))) or 
     209                                    (is_array($broadcasted_ids) and in_array($comment->id, array_values($broadcasted_ids))) 
     210                                ) { 
     211                                    Social_Aggregate_Log::instance($post->ID)->add($this->service, $comment->id, 'reply', true, array('parent_id' => $id[0])); 
     212                                    continue; 
    199213                                } 
     214                                Social_Aggregate_Log::instance($post->ID)->add($this->service, $comment->id, 'reply', false, array('parent_id' => $id[0])); 
     215                                $comment->status_id = $broadcasted_ids[$account->user->id]; 
     216                                $post_comments[] = $comment->id; 
     217                                $results[] = $comment; 
    200218                            } 
    201219                        } 
     
    231249                ); 
    232250 
    233                 $comment_id = wp_insert_comment(array( 
     251                $commentdata = array( 
    234252                    'comment_post_ID' => $post_id, 
    235253                    'comment_type' => $this->service, 
     
    239257                    'comment_content' => $reply->message, 
    240258                    'comment_date' => gmdate('Y-m-d H:i:s', strtotime($reply->created_time)), 
    241                 )); 
     259                    'comment_date_gmt' => gmdate('Y-m-d H:i:s', strtotime($reply->created_time)), 
     260                    'comment_author_IP' => $_SERVER['SERVER_ADDR'], 
     261                    'comment_agent' => 'Social Aggregator' 
     262                ); 
     263                $commentdata['comment_approved'] = wp_allow_comment($commentdata); 
     264                $comment_id = wp_insert_comment($commentdata); 
    242265                update_comment_meta($comment_id, Social::$prefix . 'account_id', $reply->from->id); 
    243266                update_comment_meta($comment_id, Social::$prefix . 'profile_image_url', 'http://graph.facebook.com/' . $reply->from->id . '/picture'); 
    244                 update_comment_meta($comment_id, Social::$prefix . 'status_id', $reply->id); 
     267                update_comment_meta($comment_id, Social::$prefix . 'status_id', (isset($reply->status_id) ? $reply->status_id : $reply->id)); 
     268 
     269                if ('spam' !== $commentdata['comment_approved']) { // If it's spam save it silently for later crunching 
     270                    if ('0' == $commentdata['comment_approved']) { 
     271                        wp_notify_moderator($comment_id); 
     272                    } 
     273 
     274                    $post = &get_post($commentdata['comment_post_ID']); // Don't notify if it's your own comment 
     275 
     276                    if (get_option('comments_notify') and $commentdata['comment_approved'] and (!isset($commentdata['user_id']) or $post->post_author != $commentdata['user_id'])) { 
     277                        wp_notify_postauthor($comment_id, isset($commentdata['comment_type'] ) ? $commentdata['comment_type'] : ''); 
     278                    } 
     279                } 
    245280            } 
    246281        } 
  • social/trunk/social-twitter.php

    r421835 r422881  
    235235 
    236236                                Social_Aggregate_Log::instance($post->ID)->add($this->service, $tweet->id, 'retweet', false, $log_data); 
    237                                 if ($tweet->in_reply_to_status_id == $broadcasted_ids[$account->user->id]) { 
    238                                     $post_comments[] = $tweet->id; 
    239                                     $results[$tweet->id] = (object)array( 
    240                                         'id' => $tweet->id, 
    241                                         'from_user_id' => $tweet->user->id, 
    242                                         'from_user' => $tweet->user->screen_name, 
    243                                         'text' => $tweet->text, 
    244                                         'created_at' => $tweet->created_at, 
    245                                         'profile_image_url' => $tweet->user->profile_image_url, 
    246                                     ); 
    247                                 } 
     237                                $post_comments[] = $tweet->id; 
     238                                $results[$tweet->id] = (object)array( 
     239                                    'id' => $tweet->id, 
     240                                    'from_user_id' => $tweet->user->id, 
     241                                    'from_user' => $tweet->user->screen_name, 
     242                                    'text' => $tweet->text, 
     243                                    'created_at' => $tweet->created_at, 
     244                                    'profile_image_url' => $tweet->user->profile_image_url, 
     245                                ); 
    248246                            } 
    249247                        } 
     
    338336                ) 
    339337            ); 
    340             $comment_id = wp_insert_comment(array( 
     338            $commentdata = array( 
    341339                'comment_post_ID' => $post_id, 
    342340                'comment_type' => $this->service, 
     
    346344                'comment_content' => $reply->text, 
    347345                'comment_date' => gmdate('Y-m-d H:i:s', strtotime($reply->created_at)), 
    348             )); 
     346                'comment_date_gmt' => gmdate('Y-m-d H:i:s', strtotime($reply->created_at)), 
     347                'comment_author_IP' => $_SERVER['SERVER_ADDR'], 
     348                'comment_agent' => 'Social Aggregator' 
     349            ); 
     350            $commentdata['comment_approved'] = wp_allow_comment($commentdata); 
     351            $comment_id = wp_insert_comment($commentdata); 
    349352            update_comment_meta($comment_id, Social::$prefix . 'account_id', $reply->from_user_id); 
    350353            update_comment_meta($comment_id, Social::$prefix . 'profile_image_url', $reply->profile_image_url); 
    351354            update_comment_meta($comment_id, Social::$prefix . 'status_id', $reply->id); 
     355 
     356            if ('spam' !== $commentdata['comment_approved']) { // If it's spam save it silently for later crunching 
     357                if ('0' == $commentdata['comment_approved']) { 
     358                    wp_notify_moderator($comment_id); 
     359                } 
     360 
     361                $post = &get_post($commentdata['comment_post_ID']); // Don't notify if it's your own comment 
     362 
     363                if (get_option('comments_notify') and $commentdata['comment_approved'] and (!isset($commentdata['user_id']) or $post->post_author != $commentdata['user_id'])) { 
     364                    wp_notify_postauthor($comment_id, isset($commentdata['comment_type'] ) ? $commentdata['comment_type'] : ''); 
     365                } 
     366            } 
    352367        } 
    353368    } 
  • social/trunk/social.php

    r421835 r422881  
    251251     */ 
    252252    public function init() { 
    253         $url = plugins_url('', SOCIAL_FILE); 
    254         Social::$plugins_url = trailingslashit(apply_filters('social_plugins_url', $url)); 
    255  
    256         $global_services = get_option(Social::$prefix . 'accounts'); 
    257         $services = get_user_meta(get_current_user_id(), Social::$prefix . 'accounts', true); 
    258  
    259         if (!empty($global_services)) { 
    260             foreach ($global_services as $service => $accounts) { 
    261                 if (!empty($accounts)) { 
    262                     Social::$update = false; 
    263                     break; 
    264                 } 
    265             } 
    266         } 
    267  
    268         if (Social::$update and !empty($services)) { 
    269             foreach ($services as $service => $accounts) { 
    270                 if (!empty($accounts)) { 
    271                     Social::$update = false; 
    272                     break; 
    273                 } 
    274             } 
    275         } 
    276  
    277         if (!defined('SOCIAL_COMMENTS_JS')) { 
    278             define('SOCIAL_COMMENTS_JS', Social::$plugins_url . 'assets/social.js'); 
    279         } 
    280  
    281         if (!defined('SOCIAL_ADMIN_JS')) { 
    282             define('SOCIAL_ADMIN_JS', Social::$plugins_url . 'assets/admin.js'); 
    283         } 
    284  
    285         if (!defined('SOCIAL_ADMIN_CSS')) { 
    286             define('SOCIAL_ADMIN_CSS', Social::$plugins_url . 'assets/admin.css'); 
    287         } 
    288  
    289         if (!defined('SOCIAL_COMMENTS_CSS')) { 
    290             define('SOCIAL_COMMENTS_CSS', Social::$plugins_url . 'assets/comments.css'); 
    291         } 
    292  
    293         if (is_admin()) { 
    294             if (Social::$update) { 
    295                 add_action('admin_notices', array($this, 'display_upgrade')); 
    296             } 
    297  
    298             // Deauthed accounts? 
    299             $deauthed = get_option(Social::$prefix . 'deauthed', array()); 
    300             if (count($deauthed)) { 
    301                 add_action('admin_notices', array($this, 'display_deauthed')); 
    302             } 
    303  
    304             if (SOCIAL_ADMIN_CSS !== false) { 
    305                 wp_enqueue_style('social_admin', SOCIAL_ADMIN_CSS, array(), Social::$version, 'screen'); 
    306             } 
    307  
    308             if (SOCIAL_ADMIN_JS !== false) { 
    309                 wp_enqueue_script('social_admin', SOCIAL_ADMIN_JS, array(), Social::$version, true); 
    310             } 
    311  
    312             // CRON Lock Location 
    313             if (is_writable(SOCIAL_PATH)) { 
    314                 $this->cron_lock_dir = SOCIAL_PATH; 
    315             } 
    316             else { 
    317                 $upload_dir = wp_upload_dir(); 
    318                 if (is_writable($upload_dir['basedir'])) { 
    319                     $this->cron_lock_dir = $upload_dir['basedir']; 
    320                 } 
    321                 else if ($_GET['page'] == 'social.php') { 
    322                     add_action('admin_notices', array($this, 'display_cron_lock_write_error')); 
    323                 } 
    324             } 
    325  
    326             // Schedule the CRON? 
    327             if (isset($_GET['page']) and $_GET['page'] == 'social.php') { 
    328                 if (Social::option('system_crons') != '1') { 
    329                     if (wp_next_scheduled(Social::$prefix . 'cron_15_core') === false) { 
    330                         wp_schedule_event(time() + 900, 'every15min', Social::$prefix . 'cron_15_core'); 
    331                         if (Social::option('debug') == '1') { 
    332                             $this->log(basename(__FILE__).'.'.__LINE__.'.'.$_SERVER['REQUEST_URI'].'.scheduling CRON 15'); 
    333                         } 
    334                     } 
    335                     if (wp_next_scheduled(Social::$prefix . 'cron_60_core') === false) { 
    336                         wp_schedule_event(time() + 3600, 'hourly', Social::$prefix . 'cron_60_core'); 
    337                         if (Social::option('debug') == '1') { 
    338                             $this->log(basename(__FILE__).'.'.__LINE__.'.'.$_SERVER['REQUEST_URI'].'.scheduling CRON 60'); 
    339                         } 
    340                     } 
    341                 } 
    342  
    343                 $url = str_replace('&', '&', wp_nonce_url(site_url('?' . Social::$prefix . 'action=check_crons'))); 
    344                 wp_remote_get($url, array( 
    345                     'timeout' => 0.01, 
    346                     'blocking' => false, 
    347                     'sslverify' => apply_filters('https_local_ssl_verify', true) 
    348                 )); 
    349             } 
    350  
    351             // Fix for the helper 
    352             if (!defined('IS_PROFILE_PAGE')) { 
    353                 define('IS_PROFILE_PAGE', false); 
    354             } 
    355         } 
    356         else { 
    357             if (SOCIAL_COMMENTS_CSS !== false) { 
    358                 wp_enqueue_style('social_comments', SOCIAL_COMMENTS_CSS, array(), Social::$version, 'screen'); 
    359             } 
    360  
    361             if (SOCIAL_COMMENTS_JS !== false) { 
    362                 wp_enqueue_script('jquery'); 
    363             } 
    364         } 
    365  
    366         if (SOCIAL_COMMENTS_JS !== false) { 
    367             wp_enqueue_script('social_js', SOCIAL_COMMENTS_JS, array(), Social::$version, true); 
    368         } 
    369  
    370         if (version_compare(PHP_VERSION, '5.2.1', '<')) { 
    371             wp_die(__("Sorry, Social requires PHP 5.2.1 or higher. Ask your host how to enable PHP 5 as the default on your servers.", Social::$i18n)); 
    372         } 
    373  
    374         // Load Twitter/Facebook 
    375         require SOCIAL_PATH . 'lib/social/interface/service.php'; 
    376         require SOCIAL_PATH . 'lib/social/helper.php'; 
    377         require SOCIAL_PATH . 'lib/social/service.php'; 
    378         require SOCIAL_PATH . 'social-facebook.php'; 
    379         require SOCIAL_PATH . 'social-twitter.php'; 
    380  
    381253        // Load the settings 
    382254        $options = apply_filters(Social::$prefix . 'options', $this->options()); 
     
    409281            $this->option($key, $value); 
    410282        } 
     283         
     284        $url = plugins_url('', SOCIAL_FILE); 
     285        Social::$plugins_url = trailingslashit(apply_filters('social_plugins_url', $url)); 
     286 
     287        $global_services = get_option(Social::$prefix . 'accounts'); 
     288        $services = get_user_meta(get_current_user_id(), Social::$prefix . 'accounts', true); 
     289 
     290        if (!empty($global_services)) { 
     291            foreach ($global_services as $service => $accounts) { 
     292                if (!empty($accounts)) { 
     293                    Social::$update = false; 
     294                    break; 
     295                } 
     296            } 
     297        } 
     298 
     299        if (Social::$update and !empty($services)) { 
     300            foreach ($services as $service => $accounts) { 
     301                if (!empty($accounts)) { 
     302                    Social::$update = false; 
     303                    break; 
     304                } 
     305            } 
     306        } 
     307 
     308        if (!defined('SOCIAL_COMMENTS_JS')) { 
     309            define('SOCIAL_COMMENTS_JS', Social::$plugins_url . 'assets/social.js'); 
     310        } 
     311 
     312        if (!defined('SOCIAL_ADMIN_JS')) { 
     313            define('SOCIAL_ADMIN_JS', Social::$plugins_url . 'assets/admin.js'); 
     314        } 
     315 
     316        if (!defined('SOCIAL_ADMIN_CSS')) { 
     317            define('SOCIAL_ADMIN_CSS', Social::$plugins_url . 'assets/admin.css'); 
     318        } 
     319 
     320        if (!defined('SOCIAL_COMMENTS_CSS')) { 
     321            define('SOCIAL_COMMENTS_CSS', Social::$plugins_url . 'assets/comments.css'); 
     322        } 
     323 
     324        if (is_admin()) { 
     325            if (Social::$update) { 
     326                add_action('admin_notices', array($this, 'display_upgrade')); 
     327            } 
     328 
     329            // Deauthed accounts? 
     330            $deauthed = get_option(Social::$prefix . 'deauthed', array()); 
     331            if (count($deauthed)) { 
     332                add_action('admin_notices', array($this, 'display_deauthed')); 
     333            } 
     334 
     335            if (SOCIAL_ADMIN_CSS !== false) { 
     336                wp_enqueue_style('social_admin', SOCIAL_ADMIN_CSS, array(), Social::$version, 'screen'); 
     337            } 
     338 
     339            if (SOCIAL_ADMIN_JS !== false) { 
     340                wp_enqueue_script('social_admin', SOCIAL_ADMIN_JS, array(), Social::$version, true); 
     341            } 
     342 
     343            // Schedule the CRON? 
     344            if (isset($_GET['page']) and $_GET['page'] == 'social.php') { 
     345                if (Social::option('system_crons') != '1') { 
     346                    if (wp_next_scheduled(Social::$prefix . 'cron_15_core') === false) { 
     347                        wp_schedule_event(time() + 900, 'every15min', Social::$prefix . 'cron_15_core'); 
     348                        if (Social::option('debug') == '1') { 
     349                            $this->log(basename(__FILE__).'.'.__LINE__.'.'.$_SERVER['REQUEST_URI'].' scheduling CRON 15'); 
     350                        } 
     351                    } 
     352                    if (wp_next_scheduled(Social::$prefix . 'cron_60_core') === false) { 
     353                        wp_schedule_event(time() + 3600, 'hourly', Social::$prefix . 'cron_60_core'); 
     354                        if (Social::option('debug') == '1') { 
     355                            $this->log(basename(__FILE__).'.'.__LINE__.'.'.$_SERVER['REQUEST_URI'].' scheduling CRON 60'); 
     356                        } 
     357                    } 
     358                } 
     359 
     360                $url = str_replace('&amp;', '&', wp_nonce_url(site_url('?' . Social::$prefix . 'action=check_crons'))); 
     361                wp_remote_get($url, array( 
     362                    'timeout' => 0.01, 
     363                    'blocking' => false, 
     364                    'sslverify' => apply_filters('https_local_ssl_verify', true) 
     365                )); 
     366            } 
     367 
     368            // Fix for the helper 
     369            if (!defined('IS_PROFILE_PAGE')) { 
     370                define('IS_PROFILE_PAGE', false); 
     371            } 
     372        } 
     373        else { 
     374            if (SOCIAL_COMMENTS_CSS !== false) { 
     375                wp_enqueue_style('social_comments', SOCIAL_COMMENTS_CSS, array(), Social::$version, 'screen'); 
     376            } 
     377 
     378            if (SOCIAL_COMMENTS_JS !== false) { 
     379                wp_enqueue_script('jquery'); 
     380            } 
     381        } 
     382 
     383        if (SOCIAL_COMMENTS_JS !== false) { 
     384            wp_enqueue_script('social_js', SOCIAL_COMMENTS_JS, array(), Social::$version, true); 
     385        } 
     386 
     387        if (version_compare(PHP_VERSION, '5.2.1', '<')) { 
     388            wp_die(__("Sorry, Social requires PHP 5.2.1 or higher. Ask your host how to enable PHP 5 as the default on your servers.", Social::$i18n)); 
     389        } 
     390 
     391        // Load Twitter/Facebook 
     392        require SOCIAL_PATH . 'lib/social/interface/service.php'; 
     393        require SOCIAL_PATH . 'lib/social/helper.php'; 
     394        require SOCIAL_PATH . 'lib/social/service.php'; 
     395        require SOCIAL_PATH . 'social-facebook.php'; 
     396        require SOCIAL_PATH . 'social-twitter.php'; 
    411397 
    412398        // Register the Social services 
     
    436422        // Cache the global and user accounts. 
    437423        $this->services(); 
     424 
     425        // CRON Lock Location 
     426        if (is_writable(SOCIAL_PATH)) { 
     427            $this->cron_lock_dir = SOCIAL_PATH; 
     428        } 
     429        else { 
     430            $upload_dir = wp_upload_dir(); 
     431            if (is_writable($upload_dir['basedir'])) { 
     432                $this->cron_lock_dir = $upload_dir['basedir']; 
     433            } 
     434            else if ($_GET['page'] == 'social.php') { 
     435                add_action('admin_notices', array($this, 'display_cron_lock_write_error')); 
     436            } 
     437        } 
    438438    } 
    439439 
     
    496496            } 
    497497 
    498             $method = $_GET[Social::$prefix . 'cron'] . '_core'; 
     498            $method = $_GET[Social::$prefix . 'cron'].'_core'; 
    499499            if (method_exists($this, $method)) { 
    500500                switch ($method) { 
    501                     case 'cron_15': 
    502                     case 'cron_60': 
     501                    case 'cron_15_core': 
     502                    case 'cron_60_core': 
    503503                        $this->$method(); 
    504504                    break; 
     
    595595                    } 
    596596 
    597                     if ($this->cron_lock('cron_15')) { 
     597                    if ($this->cron_lock('cron_15_core')) { 
    598598                        do_action(Social::$prefix . 'cron_15'); 
    599                         $this->cron_unlock('cron_15'); 
     599                        $this->cron_unlock('cron_15_core'); 
    600600                    } 
    601601                break; 
     
    605605                    } 
    606606 
    607                     if ($this->cron_lock('cron_60')) { 
     607                    if ($this->cron_lock('cron_60_core')) { 
    608608                        do_action(Social::$prefix . 'cron_60'); 
    609                         $this->cron_unlock('cron_15'); 
     609                        $this->cron_unlock('cron_60_core'); 
    610610                    } 
    611611                break; 
     
    965965     */ 
    966966    public function redirect_post_location($location, $post_id) { 
    967         if (isset($_POST[Social::$prefix . 'notify']) or isset($_POST[Social::$prefix . 'broadcast'])) { 
     967        global $post; 
     968        if ((isset($_POST[Social::$prefix . 'notify']) and $post->post_status != 'publish') or isset($_POST[Social::$prefix . 'broadcast'])) { 
    968969            $this->broadcast_options($post_id, $location); 
    969970        } 
     
    18071808            $account_id = $_POST[Social::$prefix . 'post_account']; 
    18081809 
    1809             $url = wp_get_shortlink($commentdata['comment_post_ID']).'#comment-'.$comment_ID; 
     1810            $url = wp_get_shortlink($commentdata['comment_post_ID']); 
     1811            if (empty($url)) { 
     1812                $url = home_url('?p='.$commentdata['comment_post_ID']); 
     1813            } 
     1814            $url .= '#comment-'.$comment_ID; 
    18101815            $url_length = strlen($url) + 1; 
    18111816            $comment_length = strlen($comment_content); 
     
    20332038            SELECT p.ID, p.post_author, p.post_date, p.guid 
    20342039              FROM $wpdb->posts AS p 
     2040              JOIN $wpdb->postmeta AS pm 
     2041                ON p.ID = pm.post_id 
    20352042             WHERE p.post_status = 'publish' 
    20362043               AND p.comment_status = 'open' 
    20372044               AND p.post_type = 'post' 
    20382045               AND p.post_parent = '0' 
     2046               AND pm.meta_key = 'social_broadcasted_ids' 
    20392047        "; 
    20402048        if (is_array($ignored) and count($ignored)) { 
     
    21062114        } 
    21072115 
     2116        $url = wp_get_shortlink($post->ID); 
     2117        if (empty($url)) { 
     2118            $url = home_url('?p='.$post->ID); 
     2119        } 
    21082120        $urls = array( 
    2109             urlencode(wp_get_shortlink($post->ID)), 
     2121            urlencode($url), 
    21102122        ); 
    21112123 
     
    21402152        $services = $this->services(); 
    21412153        foreach ($services as $key => $service) { 
    2142             $results = $service->search_for_replies($post, $urls, (isset($broadcasted_ids[$key]) 
    2143                     ? $broadcasted_ids[$key] : null)); 
     2154            $results = $service->search_for_replies($post, $urls, (isset($broadcasted_ids[$key]) ? $broadcasted_ids[$key] : null)); 
    21442155 
    21452156            // Results? 
Note: See TracChangeset for help on using the changeset viewer.