diff options
author | Zach Copley <zach@controlyourself.ca> | 2008-12-07 20:54:12 -0500 |
---|---|---|
committer | Zach Copley <zach@controlyourself.ca> | 2008-12-07 20:54:12 -0500 |
commit | 1a8869424b9640a1d6a689e7882f04c757f78b38 (patch) | |
tree | cd64701edf5d2431556a20ba2ab3a205b9beb4eb | |
parent | e35f40528b8d3ed4c2239a558e9f6f42b8f19271 (diff) |
trac750 Use Facebook dialogs for success and error messages during initial setup / login
darcs-hash:20081208015412-7b5ce-c899a3b743621f7d003b93f383b78a2c8ba9fb52.gz
-rw-r--r-- | actions/facebookhome.php | 85 | ||||
-rw-r--r-- | lib/facebookaction.php | 56 |
2 files changed, 62 insertions, 79 deletions
diff --git a/actions/facebookhome.php b/actions/facebookhome.php index b261e6a8c..8ee2d4cd3 100644 --- a/actions/facebookhome.php +++ b/actions/facebookhome.php @@ -34,7 +34,6 @@ class FacebookhomeAction extends FacebookAction { $user = null; $facebook = $this->get_facebook(); - $fbuid = $facebook->require_login(); # check to see whether there's already a Facebook link for this user @@ -42,21 +41,12 @@ class FacebookhomeAction extends FacebookAction { if ($flink) { - $this->display($facebook, $fbuid); - $user = $flink->getUser(); - - - $notice = $user->getCurrentNotice(); - - echo $this->show_notices($user); - - - $this->update_profile_box($facebook, $fbuid, $user); - + $this->show_home($facebook, $fbuid, $user); } else { + # Make the user put in her Laconica creds $nickname = common_canonical_nickname($this->trimmed('nickname')); $password = $this->arg('password'); @@ -64,12 +54,11 @@ class FacebookhomeAction extends FacebookAction { if (common_check_user($nickname, $password)) { - echo '<h2>Successful authentication!</h2>'; $user = User::staticGet('nickname', $nickname); if (!$user) { - echo '<h2>Couldn\'t get user!</h2>'; + echo '<fb:error message="Coudln\'t get user!" />'; $this->show_login_form(); } @@ -84,16 +73,15 @@ class FacebookhomeAction extends FacebookAction { $flink_id = $flink->insert(); if ($flink_id) { - echo '<h2>Successfully made Identi.ca -> Facebook link</h2>'; + echo '<fb:success message="You can now use the Identi.ca from Facebook!" />'; } - $this->display($facebook, $fbuid); + $this->show_home($facebook, $fbuid, $user); return; } else { - echo '<h2>Fail!</h2>'; + echo '<fb:error message="Incorrect username or password." />'; } - } $this->show_login_form(); @@ -101,17 +89,16 @@ class FacebookhomeAction extends FacebookAction { } - function display($facebook, $fbuid) { + function show_home($facebook, $fbuid, $user) { $this->show_header('Home'); - // Greet the currently logged-in user! - echo "<p>Hello, <fb:name uid=\"$fbuid\" useyou=\"false\" />!</p>"; + echo $this->show_notices($user); + $this->update_profile_box($facebook, $fbuid, $user); $this->show_footer(); } - function show_notices($user) { $page = $this->trimmed('page'); @@ -142,58 +129,4 @@ class FacebookhomeAction extends FacebookAction { } - - - function update_profile_box($facebook, $fbuid, $user) { - - $notice = $user->getCurrentNotice(); - - # Need to include CSS for styling the Profile box - - $style = '<style> - #notices { - clear: both; - margin: 0 auto; - padding: 0; - list-style-type: none; - width: 600px; - border-top: 1px solid #dec5b5; - } - #notices a:hover { - text-decoration: underline; - } - .notice_single { - clear: both; - display: block; - margin: 0; - padding: 5px 5px 5px 0; - min-height: 48px; - font-family: Georgia, "Times New Roman", Times, serif; - font-size: 13px; - line-height: 16px; - border-bottom: 1px solid #dec5b5; - background-color:#FCFFF5; - opacity:1; - } - .notice_single:hover { - background-color: #f7ebcc; - } - .notice_single p { - display: inline; - margin: 0; - padding: 0; - } - </style>'; - - $html = $this->render_notice($notice); - - $fbml = "<fb:wide>$content $html</fb:wide>"; - $fbml .= "<fb:narrow>$content $html</fb:narrow>"; - - $fbml_main = "<fb:narrow>$content $html</fb:narrow>"; - - $facebook->api_client->profile_setFBML(NULL, $fbuid, $fbml, NULL, NULL, $fbml_main); - - } - } diff --git a/lib/facebookaction.php b/lib/facebookaction.php index 8872934aa..d5f0adbb8 100644 --- a/lib/facebookaction.php +++ b/lib/facebookaction.php @@ -33,6 +33,56 @@ class FacebookAction extends Action { return new Facebook($apikey, $secret); } + function update_profile_box($facebook, $fbuid, $user) { + + $notice = $user->getCurrentNotice(); + + # Need to include inline CSS for styling the Profile box + + $style = '<style> + #notices { + clear: both; + margin: 0 auto; + padding: 0; + list-style-type: none; + width: 600px; + border-top: 1px solid #dec5b5; + } + #notices a:hover { + text-decoration: underline; + } + .notice_single { + clear: both; + display: block; + margin: 0; + padding: 5px 5px 5px 0; + min-height: 48px; + font-family: Georgia, "Times New Roman", Times, serif; + font-size: 13px; + line-height: 16px; + border-bottom: 1px solid #dec5b5; + background-color:#FCFFF5; + opacity:1; + } + .notice_single:hover { + background-color: #f7ebcc; + } + .notice_single p { + display: inline; + margin: 0; + padding: 0; + } + </style>'; + + $html = $this->render_notice($notice); + + $fbml = "<fb:wide>$content $html</fb:wide>"; + $fbml .= "<fb:narrow>$content $html</fb:narrow>"; + + $fbml_main = "<fb:narrow>$content $html</fb:narrow>"; + + $facebook->api_client->profile_setFBML(NULL, $fbuid, $fbml, NULL, NULL, $fbml_main); + } # Display methods @@ -180,14 +230,14 @@ class FacebookAction extends Action { return $html; } - + function pagination($have_before, $have_after, $page, $fbaction, $args=NULL) { $html = ''; if ($have_before || $have_after) { $html = '<div id="pagination">'; - $html .'<ul id="nav_pagination">'; + $html .'<ul id="nav_pagination">'; } if ($have_before) { @@ -225,5 +275,5 @@ class FacebookAction extends Action { return "$fbaction?${extra}"; } - + } |