Esempio n. 1
0
function ym_fbook_maintain_wordpress()
{
    global $wpdb, $facebook_settings, $current_user;
    get_currentuserinfo();
    if ($current_user->ID) {
        $_SESSION['wordpress_user_id'] = $current_user->ID;
    } else {
        if (isset($_SESSION['facebook_user_id']) && $_SESSION['facebook_user_id']) {
            // not logged in
            $query = 'SELECT user_id FROM ' . $wpdb->prefix . 'usermeta WHERE meta_key = \'ym_facebook_user_id\' AND meta_value = ' . $_SESSION['facebook_user_id'];
            $rows = $wpdb->get_results($query);
            if ($wpdb->num_rows > 1) {
                // found more than one
                ym_fbook_add_message(sprintf('Your Facebook account is linked to Multiple <strong>%s</strong> accounts', get_bloginfo('name')));
                //			ym_fbook_add_message('UM WTF');
            } else {
                if ($wpdb->num_rows == 1) {
                    // found just one
                    $_SESSION['wordpress_user_id'] = $rows[0]->user_id;
                    ym_fbook_dowplogin();
                } else {
                    unset($_SESSION['wordpress_user_id']);
                    // found nothing
                    // is facebook registration available?
                    if (!$facebook_settings->disable_link_message) {
                        ym_fbook_add_message(sprintf('Your Facebook account is not linked to any <strong>%s</strong> accounts', get_bloginfo('name')));
                        ym_fbook_add_message('Would you like to Link it?');
                    }
                }
            }
        } else {
            // not logged in to either
        }
    }
}
function ym_fbook_profile($echo = FALSE)
{
    global $facebook_settings, $facebook_client;
    $return = '';
    // messages
    $target = ym_fbook_oauth_go();
    // messages
    if ($facebook_settings->force_facebook_auth && !$_SESSION['facebook_user_id']) {
        ym_fbook_add_message(__('In order to continue you must login to the Facebook Application', 'ym_facebook'));
    }
    if ($facebook_settings->force_wordpress_auth && !$_SESSION['wordpress_user_id']) {
        ym_fbook_add_message(__('In order to continue you must login to WordPress', 'ym_facebook'));
    }
    if ($facebook_settings->require_link && !ym_fbook_is_linked()) {
        ym_fbook_add_message(__('In order to continue you must Link your accounts', 'ym_facebook'));
    }
    ym_fbook_messages();
    $return .= '
<table id="ym_fbook_status">
	<tr>
		<th>' . __('WordPress Status', 'ym_facebook') . '</th><td>';
    if (is_user_logged_in()) {
        global $current_user;
        get_currentuserinfo();
        $return .= __(sprintf('Logged in as <strong>%s</strong>', $current_user->user_login), 'ym_facebook') . ' </td><td>';
        //			if ($_SESSION['in_facebook']) {
        $return .= '<form action="" method="post" id="ym_fb_loggedoutform"><input type="hidden" name="loggedout" value="1" /><a href="#nowhere" onclick="jQuery(this).parents(\'form\').submit()">' . __('Logout') . '</a></form>';
        //			} else {
        //				$return .= '<a href="' . wp_logout_url($_SERVER['REQUEST_URI']) . '">' . __('Logout') . '</a>';
        //			}
    } else {
        $return .= __('Not Logged In', 'ym_facebook') . '</td><td><a href="';
        if ($_SESSION['in_facebook']) {
            $return .= '?login=1';
        } else {
            $return .= site_url('wp-login.php?redirect_to=' . urlencode($_SERVER['REQUEST_URI']));
        }
        $return .= '">' . __('Login') . '</a>';
        /*
        if ($facebook_settings->register_with_facebook) {
        	$return .= ' | ';
        	$return .= '<a href="?register=1">Register Account</a>';
        }
        */
    }
    $return .= '</td>
		</tr><tr>
		<th>' . __('Facebook Status', 'ym_facebook') . '</th><td>';
    if ($facebook_client) {
        $return .= __(sprintf('Logged in as <strong>%s</strong>', $facebook_client->user_data->name), 'ym_facebook') . '</td><td>';
        $return .= '<a href="#nowhere" class="ym_fbook_logout">' . __('Logout') . '</a>';
    } else {
        $return .= __('Not Logged In', 'ym_facebook') . '</td><td><a href="';
        $return .= $target;
        $return .= '" target="_parent">' . __('Login') . '</a>';
    }
    $return .= '</td>
		</tr><tr>
		<th>' . __('Link Status', 'ym_facebook') . '</th><td>';
    if (is_user_logged_in()) {
        $id = ym_fbook_is_linked();
        if ($id) {
            $return .= __('Linked', 'ym_facebook') . '</td><td>';
            if (!$facebook_settings->require_link) {
                $return .= '<form action="" method="post"><input type="hidden" name="dounlink" value="1" /><a href="#nowhere" onclick="jQuery(this).parents(\'form\').submit();">' . __('UnLink', 'ym_facebook') . '</a></form>';
            }
        } else {
            $return .= __('Not Linked', 'ym_facebook') . '</td><td><form action="" method="post"><input type="hidden" name="dolink" value="1" /><a href="#nowhere" onclick="jQuery(this).parents(\'form\').submit();">' . __('Link', 'ym_facebook') . '</a></form>';
        }
    } else {
        $return .= __('Login to Lnk', 'ym_facebook');
    }
    $return .= '
		</td>
	</tr>
</table>
';
    if ($echo) {
        echo $return;
    } else {
        return $return;
    }
}