summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZach Copley <zach@controlyourself.ca>2008-12-07 20:54:12 -0500
committerZach Copley <zach@controlyourself.ca>2008-12-07 20:54:12 -0500
commit1a8869424b9640a1d6a689e7882f04c757f78b38 (patch)
treecd64701edf5d2431556a20ba2ab3a205b9beb4eb
parente35f40528b8d3ed4c2239a558e9f6f42b8f19271 (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.php85
-rw-r--r--lib/facebookaction.php56
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}";
}
-
+
}