WordPress.org

Plugin Directory

Changeset 434359


Ignore:
Timestamp:
09/06/11 23:18:53 (3 years ago)
Author:
alexkingorg
Message:

update to 1.0.2, add explicit license file

Location:
social/trunk
Files:
1 added
6 edited

Legend:

Unmodified
Added
Removed
  • social/trunk/README.txt

    r422881 r434359  
    44Requires at least: 3.2 
    55Tested up to: 3.2.1 
    6 Stable tag: 1.0.1 
     6Stable tag: 1.0.2 
    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.2 = 
     172* Security hardening. 
     173 
    171174= 1.0.1 = 
    172175* Automatic CRON jobs should run correctly on more configurations. 
  • social/trunk/assets/social.js

    r422881 r434359  
    11var $window = null; 
    2 function reloadSocialHTML() { 
     2function reloadSocialHTML(saved) { 
    33    if (!$window.hasClass('comments')) { 
    44        window.location.reload(); 
    55    } 
    66    else { 
    7         var $parent = jQuery('.social-post'); 
    8         jQuery.get($parent.find('#reload_url').val(), {}, function(response){ 
    9             if (response.result == 'success') { 
    10                 // Add logged-in body class since we're not going to be refreshing the page. 
    11                 jQuery('body').addClass('logged-in'); 
    12                 $parent.html(response.html); 
    13                 jQuery('#primary').find('#social_login').parent().html(response.disconnect_url); 
    14             } 
    15         }, 'json'); 
     7        if (saved == 'false') { 
     8            // This is temporary. This will be fixed in 1.5. 
     9            alert('Failed to authorize this account. Please try again.') 
     10        } 
     11        else { 
     12            var $parent = jQuery('.social-post'); 
     13            jQuery.get($parent.find('#reload_url').val(), {}, function(response){ 
     14                if (response.result == 'success') { 
     15                    // Add logged-in body class since we're not going to be refreshing the page. 
     16                    jQuery('body').addClass('logged-in'); 
     17                    $parent.html(response.html); 
     18                    jQuery('#primary').find('#social_login').parent().html(response.disconnect_url); 
     19                } 
     20            }, 'json'); 
     21        } 
    1622    } 
    1723} 
  • social/trunk/lib/social/helper.php

    r422881 r434359  
    4646     * @param  string  $service 
    4747     * @param  string  $username 
    48      * @return int 
     48     * @return int|bool 
    4949     */ 
    5050    public static function create_user($service, $username) { 
    51         // Make sure the user doesn't exist 
    52         $user = get_userdatabylogin($service . '_' . $username); 
    53         if ($user === false) { 
    54             $id = wp_create_user($service . '_' . $username, wp_generate_password(20, false), self::create_email($service, $username)); 
     51        $username = trim($username); 
     52        if (!empty($username)) { 
     53            // Make sure the user doesn't exist 
     54            $username = str_replace(' ', '_', $username); 
     55            $wp_username = $service . '_' . $username; 
     56            $user = get_userdatabylogin($wp_username); 
     57            if ($user === false) { 
     58                $id = wp_create_user($wp_username, wp_generate_password(20, false), self::create_email($service, $username)); 
    5559 
    56             $role = 'subscriber'; 
    57             if (get_option('users_can_register') == '1') { 
    58                 $role = get_option('default_role'); 
     60                $role = 'subscriber'; 
     61                if (get_option('users_can_register') == '1') { 
     62                    $role = get_option('default_role'); 
     63                } 
     64 
     65                $user = new WP_User($id); 
     66                $user->set_role($role); 
     67 
     68                update_user_option($id, 'show_admin_bar_front', 'false'); 
     69            } 
     70            else { 
     71                $id = $user->ID; 
    5972            } 
    6073 
    61             $user = new WP_User($id); 
    62             $user->set_role($role); 
     74            // Log the user in 
     75            wp_set_current_user($id); 
     76            add_filter('auth_cookie_expiration', array('Social', 'auth_cookie_expiration')); 
     77            wp_set_auth_cookie($id, true); 
     78            remove_filter('auth_cookie_expiration', array('Social', 'auth_cookie_expiration')); 
    6379 
    64             update_user_option($id, 'show_admin_bar_front', 'false'); 
     80            return $id; 
    6581        } 
    66         else { 
    67             $id = $user->ID; 
    68         } 
    69  
    70         // Log the user in 
    71         wp_set_current_user($id); 
    72         add_filter('auth_cookie_expiration', array('Social', 'auth_cookie_expiration')); 
    73         wp_set_auth_cookie($id, true); 
    74         remove_filter('auth_cookie_expiration', array('Social', 'auth_cookie_expiration')); 
    75  
    76         return $id; 
     82        return false; 
    7783    } 
    7884 
  • social/trunk/social-facebook.php

    r422881 r434359  
    7777     * 
    7878     * @param  int|object  $account  account to use to create WP account 
    79      * @return int 
     79     * @return int|bool 
    8080     */ 
    8181    function create_user($account) { 
  • social/trunk/social-twitter.php

    r422881 r434359  
    127127     * 
    128128     * @param  int|object  $account  account to use to create WP account 
    129      * @return int 
     129     * @return int|bool 
    130130     */ 
    131131    function create_user($account) { 
  • social/trunk/social.php

    r422881 r434359  
    44Plugin URI: http://mailchimp.com/social-plugin-for-wordpress/ 
    55Description: Broadcast newly published posts and pull in dicussions using integrations with Twitter and Facebook. Brought to you by <a href="http://mailchimp.com">MailChimp</a>. 
    6 Version: 1.0 
     6Version: 1.0.2 
    77Author: Crowd Favorite 
    88Author URI: http://crowdfavorite.com/ 
     
    3131     * @var  string  $version  plugin version 
    3232     */ 
    33     public static $version = '1.0'; 
     33    public static $version = '1.0.2'; 
    3434 
    3535    /** 
     
    274274            } 
    275275 
    276             if ($key == 'installed_version' and (int)$value < (int)Social::$version) { 
     276            if ($key == 'installed_version' and version_compare($value, Social::$version, '<')) { 
    277277                // Need to run an upgrade 
    278278                Social::$upgrade = true; 
    279             } 
    280  
    281             $this->option($key, $value); 
     279                $this->option($key, Social::$version, true); 
     280            } 
     281            else { 
     282                $this->option($key, $value); 
     283            } 
    282284        } 
    283285         
     
    687689        // Authorization complete? 
    688690        else if (isset($_POST['data'])) { 
     691            // Need to call stripslashes as Sopresto is adding slashes onto the payload. 
    689692            $data = stripslashes($_POST['data']); 
    690693            if (strpos($data, "\r") !== false) { 
     
    697700            ); 
    698701 
     702            // Remove all HTML from the user object. 
     703            $account->user = $this->social_kses($account->user); 
     704 
    699705            // Add the account to the service. 
    700706            if (IS_PROFILE_PAGE) { 
     
    706712 
    707713            // Do we need to create a user? 
     714            $save = true; 
    708715            if (!$service->loaded()) { 
    709                 $service->create_user($account); 
    710             } 
    711  
    712             // Save the services 
    713             $service->save($account); 
     716                if (!$service->create_user($account)) { 
     717                    $save = false; 
     718                } 
     719            } 
     720 
     721            if ($save) { 
     722                // Save the services 
     723                $service->save($account); 
     724            } 
    714725 
    715726            // Remove the service from the errors? 
     
    731742<script type="text/javascript"> 
    732743    jQuery(function() { 
    733         window.opener.reloadSocialHTML(); 
     744        window.opener.reloadSocialHTML('<?php echo (!$save ? 'false' : 'true'); ?>'); 
    734745        window.close(); 
    735746    }); 
     
    22562267    } 
    22572268 
     2269    /** 
     2270     * Recursively runs wp_kses() on an object. 
     2271     * 
     2272     * @param  object|array  $object 
     2273     * @return object 
     2274     */ 
     2275    private function social_kses($object) { 
     2276        if (is_object($object)) { 
     2277            $_object = new stdClass; 
     2278        } 
     2279        else { 
     2280            $_object = array(); 
     2281        } 
     2282 
     2283        foreach ($object as $key => $val) { 
     2284            if (is_object($val)) { 
     2285                $_object->$key = $this->social_kses($val); 
     2286            } 
     2287            else if (is_array($val)) { 
     2288                $_object[$key] = $this->social_kses($val); 
     2289            } 
     2290            else { 
     2291                if (is_object($_object)) { 
     2292                    $_object->$key = wp_kses($val, array()); 
     2293                } 
     2294                else { 
     2295                    $_object[$key] = wp_kses($val, array()); 
     2296                } 
     2297            } 
     2298        } 
     2299        return $_object; 
     2300    } 
     2301 
    22582302} // End Social 
    22592303 
Note: See TracChangeset for help on using the changeset viewer.