Janrain_Engage_Plugin - Version 1.2.0

Version Notes

Upgraded widgets to latest all-javascript versions, added seamless registration.

Download this release

Release Info

Developer Magento Core Team
Extension Janrain_Engage_Plugin
Version 1.2.0
Comparing to
See all releases


Code changes from version 1.1.1 to 1.2.0

Files changed (31) hide show
  1. app/code/{local → community}/Janrain/Engage/Block/Accountdata.php +1 -1
  2. app/code/{local → community}/Janrain/Engage/Block/Auth.php +10 -24
  3. app/code/{local → community}/Janrain/Engage/Block/Info.php +0 -0
  4. app/code/{local → community}/Janrain/Engage/Block/Share.php +5 -17
  5. app/code/{local → community}/Janrain/Engage/Block/Xdcomm.php +1 -1
  6. app/code/{local → community}/Janrain/Engage/Helper/Data.php +6 -0
  7. app/code/{local → community}/Janrain/Engage/Helper/Identifiers.php +14 -11
  8. app/code/{local → community}/Janrain/Engage/Helper/Rpxcall.php +0 -0
  9. app/code/{local → community}/Janrain/Engage/Model/Identifiers.php +0 -0
  10. app/code/{local → community}/Janrain/Engage/Model/Mysql4/Identifiers.php +0 -0
  11. app/code/{local → community}/Janrain/Engage/Model/Mysql4/Identifiers/Collection.php +0 -0
  12. app/code/{local → community}/Janrain/Engage/Model/Observer.php +6 -0
  13. app/code/{local → community}/Janrain/Engage/Model/Resource/Eav/Mysql4/Setup.php +0 -0
  14. app/code/{local → community}/Janrain/Engage/Model/Session.php +0 -0
  15. app/code/{local → community}/Janrain/Engage/controllers/Adminhtml/LookupController.php +0 -0
  16. app/code/{local → community}/Janrain/Engage/controllers/RpxController.php +56 -81
  17. app/code/community/Janrain/Engage/controllers/XdcommController.php +11 -0
  18. app/code/{local → community}/Janrain/Engage/etc/config.xml +18 -5
  19. app/code/{local → community}/Janrain/Engage/etc/system.xml +12 -1
  20. app/code/{local → community}/Janrain/Engage/etc/widget.xml +0 -0
  21. app/code/{local/Janrain/Engage/sql/engage_setup/mysql4-install-1.1.1.php → community/Janrain/Engage/sql/engage_setup/mysql4-install-1.2.0.php} +0 -0
  22. app/design/frontend/base/default/layout/engage.xml +4 -4
  23. app/design/frontend/base/default/template/janrain/engage/auth.phtml +34 -0
  24. app/design/frontend/base/default/template/janrain/engage/dashboard.phtml +3 -3
  25. app/design/frontend/base/default/template/janrain/engage/scripts.phtml +0 -15
  26. app/design/frontend/base/default/template/janrain/engage/scripts_dashboard.phtml +40 -0
  27. app/design/frontend/base/default/template/janrain/engage/share.phtml +34 -0
  28. app/design/frontend/base/default/template/janrain/engage/styles.phtml +1 -2
  29. app/etc/modules/Janrain_Engage.xml +1 -1
  30. package.xml +9 -9
  31. skin/frontend/janrain/stylesheet.css +5 -4
app/code/{local → community}/Janrain/Engage/Block/Accountdata.php RENAMED
@@ -27,7 +27,7 @@ class Janrain_Engage_Block_Accountdata extends Mage_Adminhtml_Block_System_Confi
27
return '<p>Module not enabled. Please set "Enabled" to "Yes" and enter your API key above.</p>';
28
29
$content = '<link type="text/css" href="' . Mage::helper('engage')->_baseSkin() . '/stylesheet.css" rel="stylesheet" />';
30
- $content .= '<p>The following is the current account info being used. <a href="' . Mage::helper('adminhtml')->getUrl('engage/adminhtml_lookup/rp') . '">Click Here to refresh</a></p>';
31
32
$content .= '<table><tbody>';
33
foreach ($vars as $key => $val) {
27
return '<p>Module not enabled. Please set "Enabled" to "Yes" and enter your API key above.</p>';
28
29
$content = '<link type="text/css" href="' . Mage::helper('engage')->_baseSkin() . '/stylesheet.css" rel="stylesheet" />';
30
+ $content .= '<p>The following is the current account info being used. <a href="' . Mage::helper('adminhtml')->getUrl('engageadmin/adminhtml_lookup/rp') . '">Click Here to refresh</a></p>';
31
32
$content .= '<table><tbody>';
33
foreach ($vars as $key => $val) {
app/code/{local → community}/Janrain/Engage/Block/Auth.php RENAMED
@@ -5,18 +5,13 @@ class Janrain_Engage_Block_Auth extends Mage_Core_Block_Template implements Mage
5
function rpx_small_buttons() {
6
$size = $this->getSize();
7
if ($size == 'inline') {
8
- $iframe = '<iframe src="'
9
- . ((Mage::getStoreConfig('engage/vars/realmscheme') == 'https') ? 'https' : 'http')
10
- . '://' . Mage::getStoreConfig('engage/vars/realm')
11
- . '/openid/embed?token_url=' . urlencode(Mage::getUrl('engage/rpx/token_url'))
12
- . '" scrolling="no" frameBorder="no" allowtransparency="true" style="width:400px;height:240px"></iframe>';
13
- return $iframe;
14
}
15
else {
16
$providers = Mage::helper('engage')->getRpxProviders();
17
if (is_array($providers)) {
18
$size = ($size == 'small') ? "16" : "30";
19
- $wrap_open = '<a class="rpxnow rpx_link_wrap" onclick="return false;" href="'
20
. Mage::helper('engage')->getRpxAuthUrl()
21
. '">';
22
$wrap_close = '</a>';
@@ -25,15 +20,17 @@ class Janrain_Engage_Block_Auth extends Mage_Core_Block_Template implements Mage
25
if (empty($labelText))
26
$labelText = 'Or log in with';
27
28
- $label = '<div class="rpx_label">' . $labelText . '</div>';
29
$rpx_buttons = '';
30
foreach ($providers as $val) {
31
- $rpx_buttons .= '<div class="jn-icon jn-size' . $size . ' jn-' . $val . '" title="' . htmlentities($val) . '"></div>';
32
}
33
- $buttons = '<div class="rpx_button">' . $rpx_buttons . '</div><div class="rpx_clear"></div>';
34
35
return $wrap_open . $label . $buttons . $wrap_close;
36
}
37
}
38
}
39
@@ -45,23 +42,12 @@ class Janrain_Engage_Block_Auth extends Mage_Core_Block_Template implements Mage
45
}
46
47
protected function _prepareLayout() {
48
-
49
- /*
50
- * Doesn't work on inline widgets because layout isn't loaded until
51
- * after the head has been written to the page. Fix.
52
- *
53
- if($this->getLayout()->getBlock('janrain_engage_styles')==false) {
54
- $block = $this->getLayout()
55
- ->createBlock('core/template', 'janrain_engage_styles')
56
- ->setTemplate('janrain/engage/styles.phtml');
57
- $this->getLayout()->getBlock('head')->insert($block);
58
- }
59
- */
60
-
61
if ($this->getLayout()->getBlock('janrain_engage_scripts') == false) {
62
$block = $this->getLayout()
63
->createBlock('core/template', 'janrain_engage_scripts')
64
- ->setTemplate('janrain/engage/scripts.phtml');
65
$this->getLayout()->getBlock('before_body_end')->insert($block);
66
}
67
5
function rpx_small_buttons() {
6
$size = $this->getSize();
7
if ($size == 'inline') {
8
+ return '<div id="janrainEngageEmbed"></div>';
9
}
10
else {
11
$providers = Mage::helper('engage')->getRpxProviders();
12
if (is_array($providers)) {
13
$size = ($size == 'small') ? "16" : "30";
14
+ $wrap_open = '<a class="janrainEngage rpxnow rpx_link_wrap" onclick="return false;" href="'
15
. Mage::helper('engage')->getRpxAuthUrl()
16
. '">';
17
$wrap_close = '</a>';
20
if (empty($labelText))
21
$labelText = 'Or log in with';
22
23
+ $label = '<span class="rpx_label">' . $labelText . '</span>';
24
$rpx_buttons = '';
25
foreach ($providers as $val) {
26
+ $rpx_buttons .= '<span class="jn-icon jn-size' . $size . ' jn-' . $val . '" title="' . htmlentities($val) . '"></span>';
27
}
28
+ $buttons = '<span class="rpx_button">' . $rpx_buttons . '</span><span class="rpx_clear"></span>';
29
30
return $wrap_open . $label . $buttons . $wrap_close;
31
+
32
}
33
+
34
}
35
}
36
42
}
43
44
protected function _prepareLayout() {
45
if ($this->getLayout()->getBlock('janrain_engage_scripts') == false) {
46
+ $size = ($this->getSize() == 'inline') ? 'embed' : 'modal';
47
$block = $this->getLayout()
48
->createBlock('core/template', 'janrain_engage_scripts')
49
+ ->setData('size', $size)
50
+ ->setTemplate('janrain/engage/auth.phtml');
51
$this->getLayout()->getBlock('before_body_end')->insert($block);
52
}
53
app/code/{local → community}/Janrain/Engage/Block/Info.php RENAMED
File without changes
app/code/{local → community}/Janrain/Engage/Block/Share.php RENAMED
@@ -25,7 +25,7 @@ class Janrain_Engage_Block_Share extends Mage_Core_Block_Abstract implements Mag
25
$link = '';
26
27
if ($icons = $this->rpx_social_icons()) {
28
- $link .= '<div class="rpxsocial rpx_tooltip" onclick="RPXNOW.loadAndRun([\'Social\'], function () { var activity = new RPXNOW.Social.Activity(\'Share:\', \'' . Mage::getSingleton('cms/page')->getTitle() . '\', \'' . Mage::helper('core/url')->getCurrentUrl() . '\'); activity.setUserGeneratedContent(\'' . $this->getShareText() . '\'); RPXNOW.Social.publishActivity(activity); });">';
29
$link .= '<span class="rpxsharebutton">share</span><div class="rpx_share_tip">Share this on:<br />' . $icons . '</div></div>';
30
}
31
@@ -33,23 +33,11 @@ class Janrain_Engage_Block_Share extends Mage_Core_Block_Abstract implements Mag
33
}
34
35
protected function _prepareLayout() {
36
-
37
- /*
38
- * Doesn't work on inline widgets because layout isn't loaded until
39
- * after the head has been written to the page. Fix.
40
- *
41
- if($this->getLayout()->getBlock('janrain_engage_styles')==false) {
42
- $block = $this->getLayout()
43
- ->createBlock('core/template', 'janrain_engage_styles')
44
- ->setTemplate('janrain/engage/styles.phtml');
45
- $this->getLayout()->getBlock('head')->insert($block);
46
- }
47
- */
48
-
49
- if ($this->getLayout()->getBlock('janrain_engage_scripts') == false) {
50
$block = $this->getLayout()
51
- ->createBlock('core/template', 'janrain_engage_scripts')
52
- ->setTemplate('janrain/engage/scripts.phtml');
53
$this->getLayout()->getBlock('before_body_end')->insert($block);
54
}
55
25
$link = '';
26
27
if ($icons = $this->rpx_social_icons()) {
28
+ $link .= '<div class="rpxsocial rpx_tooltip" id="janrainEngageShare">';
29
$link .= '<span class="rpxsharebutton">share</span><div class="rpx_share_tip">Share this on:<br />' . $icons . '</div></div>';
30
}
31
33
}
34
35
protected function _prepareLayout() {
36
+ if ($this->getLayout()->getBlock('janrain_engage_share') == false) {
37
$block = $this->getLayout()
38
+ ->createBlock('core/template', 'janrain_engage_share')
39
+ ->setData('message', $this->getShareText())
40
+ ->setTemplate('janrain/engage/share.phtml');
41
$this->getLayout()->getBlock('before_body_end')->insert($block);
42
}
43
app/code/{local → community}/Janrain/Engage/Block/Xdcomm.php RENAMED
@@ -22,4 +22,4 @@ class Janrain_Engage_Block_Xdcomm extends Mage_Core_Block_Abstract {
22
return $html;
23
}
24
25
- }
22
return $html;
23
}
24
25
+ }
app/code/{local → community}/Janrain/Engage/Helper/Data.php RENAMED
@@ -115,5 +115,11 @@ class Janrain_Engage_Helper_Data extends Mage_Core_Helper_Abstract {
115
116
return array('provider' => $this->providers[$auth_info->profile->providerName], 'identifier' => $auth_info->profile->identifier, 'profile_name' => $profile_name);
117
}
118
119
}
115
116
return array('provider' => $this->providers[$auth_info->profile->providerName], 'identifier' => $auth_info->profile->identifier, 'profile_name' => $profile_name);
117
}
118
+
119
+ public function rpxRealmName() {
120
+ $realm = Mage::getStoreConfig('engage/vars/realm');
121
+ $realm = str_replace(".rpxnow.com", "", $realm);
122
+ return $realm;
123
+ }
124
125
}
app/code/{local → community}/Janrain/Engage/Helper/Identifiers.php RENAMED
@@ -10,17 +10,6 @@ class Janrain_Engage_Helper_Identifiers extends Mage_Core_Helper_Abstract {
10
*/
11
public function save_identifier($customer_id, $profile) {
12
13
- /**
14
- * Make sure we have a valid customer_id
15
- *
16
- */
17
- $customer = Mage::getModel('customer/customer')
18
- ->getCollection()
19
- ->addFieldToFilter('entity_id', $customer_id)
20
- ->getFirstItem();
21
- if (!$customer->getId())
22
- Mage::throwException('Invalid Customer ID');
23
-
24
/**
25
* Make the save
26
*
@@ -91,4 +80,18 @@ class Janrain_Engage_Helper_Identifiers extends Mage_Core_Helper_Abstract {
91
}
92
}
93
94
}
10
*/
11
public function save_identifier($customer_id, $profile) {
12
13
/**
14
* Make the save
15
*
80
}
81
}
82
83
+ public function delete_all_identifiers($customer) {
84
+ $customer_id = $customer->getId();
85
+ if ((int) $customer_id > 0) {
86
+ $identifiers = $this->get_identifiers($customer_id);
87
+ foreach ($identifiers as &$identifier) {
88
+ try {
89
+ $identifier->delete();
90
+ } catch (Exception $e) {
91
+ echo "Could not delete: $e";
92
+ }
93
+ }
94
+ }
95
+ }
96
+
97
}
app/code/{local → community}/Janrain/Engage/Helper/Rpxcall.php RENAMED
File without changes
app/code/{local → community}/Janrain/Engage/Model/Identifiers.php RENAMED
File without changes
app/code/{local → community}/Janrain/Engage/Model/Mysql4/Identifiers.php RENAMED
File without changes
app/code/{local → community}/Janrain/Engage/Model/Mysql4/Identifiers/Collection.php RENAMED
File without changes
app/code/{local → community}/Janrain/Engage/Model/Observer.php RENAMED
@@ -10,6 +10,12 @@ class Janrain_Engage_Model_Observer {
10
}
11
}
12
13
public function onConfigSave($observer) {
14
if (Mage::getStoreConfig('engage/vars/apikey') != Mage::getStoreConfig('engage/options/apikey') || strlen(Mage::getStoreConfig('engage/vars/appid')) < 1) {
15
Mage::helper('engage/rpxcall')->rpxLookupSave();
10
}
11
}
12
13
+ public function removeIdentifiers($observer) {
14
+ $event = $observer->getEvent();
15
+ $customer = $event->getCustomer();
16
+ Mage::helper('engage/identifiers')->delete_all_identifiers($customer);
17
+ }
18
+
19
public function onConfigSave($observer) {
20
if (Mage::getStoreConfig('engage/vars/apikey') != Mage::getStoreConfig('engage/options/apikey') || strlen(Mage::getStoreConfig('engage/vars/appid')) < 1) {
21
Mage::helper('engage/rpxcall')->rpxLookupSave();
app/code/{local → community}/Janrain/Engage/Model/Resource/Eav/Mysql4/Setup.php RENAMED
File without changes
app/code/{local → community}/Janrain/Engage/Model/Session.php RENAMED
File without changes
app/code/{local → community}/Janrain/Engage/controllers/Adminhtml/LookupController.php RENAMED
File without changes
app/code/{local → community}/Janrain/Engage/controllers/RpxController.php RENAMED
@@ -27,7 +27,7 @@ class Janrain_Engage_RpxController extends Mage_Customer_AccountController {
27
}
28
29
$action = $this->getRequest()->getActionName();
30
- if (!preg_match('/^(xdcomm|addIdentifier|token_url_add|token_url|authenticate|duplicate|create|login|logoutSuccess|forgotpassword|forgotpasswordpost|confirm|confirmation)/i', $action)) {
31
if (!$this->_getSession()->authenticate($this)) {
32
$this->setFlag('', 'no-dispatch', true);
33
}
@@ -46,92 +46,64 @@ class Janrain_Engage_RpxController extends Mage_Customer_AccountController {
46
*/
47
public function token_urlAction() {
48
$session = $this->_getSession();
49
-
50
// Redirect if user is already authenticated
51
if ($session->isLoggedIn()) {
52
$this->_redirect('customer/account');
53
return;
54
}
55
56
- if ($this->getRequest()->isPost()) {
57
- $token = $this->getRequest()->getPost('token');
58
-
59
- if ($token) {
60
- // Store token in session under random key
61
- $key = Mage::helper('engage')->rand_str(12);
62
- Mage::getSingleton('engage/session')->setData($key, $token);
63
-
64
- // Redirect user to $this->authAction method passing $key as ses
65
- // $_GET variable (Magento style)
66
- $this->_redirect("janrain-engage/rpx/authenticate", array("ses" => $key));
67
- return;
68
- }
69
- else {
70
- $session->addError('Authentication token not received. Please try again.');
71
- }
72
- }
73
-
74
- $this->_redirect('customer/account/login');
75
- }
76
-
77
- /**
78
- * RPX Callback for Additional Identifiers
79
- */
80
- public function token_url_addAction() {
81
- $session = $this->_getSession();
82
-
83
- // Redirect if user isn't already authenticated
84
- if (!$session->isLoggedIn()) {
85
- $this->_redirect('customer/account/login');
86
- return;
87
- }
88
-
89
- if ($this->getRequest()->isPost()) {
90
- $token = $this->getRequest()->getPost('token');
91
-
92
- // Store token in session under random key
93
- $key = Mage::helper('engage')->rand_str(12);
94
- Mage::getSingleton('engage/session')->setData($key, $token);
95
-
96
- // Redirect user to $this->authAction method passing $key as ses
97
- // $_GET variable (Magento style)
98
- $this->_redirect("janrain-engage/rpx/addidentifier", array("ses" => $key));
99
- }
100
- }
101
-
102
- public function authenticateAction() {
103
- $session = $this->_getSession();
104
-
105
- $key = $this->getRequest()->getParam('ses');
106
- $token = Mage::getSingleton('engage/session')->getData($key);
107
$auth_info = Mage::helper('engage/rpxcall')->rpxAuthInfoCall($token);
108
if (isset($auth_info->stat) && $auth_info->stat == 'ok') {
109
$customer = Mage::helper('engage/identifiers')->get_customer($auth_info->profile->identifier);
110
111
if ($customer === false) {
112
- $this->loadLayout();
113
- $block = Mage::getSingleton('core/layout')->getBlock('customer_form_register');
114
- if ($block !== false) {
115
- $form_data = $block->getFormData();
116
-
117
- if (isset($auth_info->profile) && isset($auth_info->profile->verifiedEmail))
118
- $email = $auth_info->profile->verifiedEmail;
119
- else if (isset($auth_info->profile) && isset($auth_info->profile->email))
120
- $email = $auth_info->profile->email;
121
- else
122
- $email = '';
123
-
124
- $firstName = Mage::helper('engage/rpxcall')->getFirstName($auth_info);
125
- $lastName = Mage::helper('engage/rpxcall')->getLastName($auth_info);
126
-
127
- $form_data->setEmail($email);
128
- $form_data->setFirstname($firstName);
129
- $form_data->setLastname($lastName);
130
- }
131
$profile = Mage::helper('engage')->buildProfile($auth_info);
132
Mage::getSingleton('engage/session')->setIdentifier($profile);
133
134
- $this->renderLayout();
135
return;
136
} else {
137
Mage::getSingleton('customer/session')->setCustomerAsLoggedIn($customer);
@@ -144,17 +116,24 @@ class Janrain_Engage_RpxController extends Mage_Customer_AccountController {
144
}
145
}
146
147
- public function addIdentifierAction() {
148
$session = $this->_getSession();
149
150
- $key = $this->getRequest()->getParam('ses');
151
- $token = Mage::getSingleton('engage/session')->getData($key);
152
$auth_info = Mage::helper('engage/rpxcall')->rpxAuthInfoCall($token);
153
154
$customer = Mage::helper('engage/identifiers')->get_customer($auth_info->profile->identifier);
155
156
if ($customer === false) {
157
- $customer_id = $session->getCustomer()->getId();
158
$profile = Mage::helper('engage')->buildProfile($auth_info);
159
160
Mage::helper('engage/identifiers')->save_identifier($customer_id, $profile);
@@ -237,8 +216,4 @@ class Janrain_Engage_RpxController extends Mage_Customer_AccountController {
237
$this->_redirect('customer/account');
238
}
239
240
- public function xdcommAction() {
241
- $this->getResponse()->setBody($this->getLayout()->createBlock('engage/xdcomm')->toHtml());
242
- }
243
-
244
}
27
}
28
29
$action = $this->getRequest()->getActionName();
30
+ if (!preg_match('/^(xdcomm|token_url_add|token_url|duplicate|create|login|logoutSuccess|forgotpassword|forgotpasswordpost|confirm|confirmation)/i', $action)) {
31
if (!$this->_getSession()->authenticate($this)) {
32
$this->setFlag('', 'no-dispatch', true);
33
}
46
*/
47
public function token_urlAction() {
48
$session = $this->_getSession();
49
// Redirect if user is already authenticated
50
if ($session->isLoggedIn()) {
51
$this->_redirect('customer/account');
52
return;
53
}
54
55
+ $token = $this->getRequest()->getPost('token');
56
$auth_info = Mage::helper('engage/rpxcall')->rpxAuthInfoCall($token);
57
if (isset($auth_info->stat) && $auth_info->stat == 'ok') {
58
$customer = Mage::helper('engage/identifiers')->get_customer($auth_info->profile->identifier);
59
60
if ($customer === false) {
61
+ if (isset($auth_info->profile) && isset($auth_info->profile->verifiedEmail))
62
+ $email = $auth_info->profile->verifiedEmail;
63
+ else if (isset($auth_info->profile) && isset($auth_info->profile->email))
64
+ $email = $auth_info->profile->email;
65
+ else
66
+ $email = '';
67
+
68
+ $firstName = Mage::helper('engage/rpxcall')->getFirstName($auth_info);
69
+ $lastName = Mage::helper('engage/rpxcall')->getLastName($auth_info);
70
$profile = Mage::helper('engage')->buildProfile($auth_info);
71
Mage::getSingleton('engage/session')->setIdentifier($profile);
72
73
+ // TODO: Create an account merging process
74
+ //$existing = Mage::getModel('customer/customer')
75
+ // ->getCollection()
76
+ // ->addFieldToFilter('email', $email)
77
+ // ->getFirstItem();
78
+
79
+ if (Mage::getStoreConfig('engage/options/seamless') == '1'
80
+ && $email && $firstName && $lastName) {
81
+ $customer = Mage::getModel('customer/customer')->setId(null);
82
+ $customer->getGroupId();
83
+ $customer->setFirstname($firstName);
84
+ $customer->setLastname($lastName);
85
+ $customer->setEmail($email);
86
+
87
+ $password = md5('Janrain_Engage_' . Mage::helper('engage')->rand_str(12));
88
+ $_POST['password'] = $password;
89
+ $_POST['confirmation'] = $password;
90
+ Mage::register('current_customer', $customer);
91
+
92
+ $this->_forward('createPost');
93
+ }
94
+ else {
95
+ $this->loadLayout();
96
+ $block = Mage::getSingleton('core/layout')->getBlock('customer_form_register');
97
+ if ($block !== false) {
98
+ $form_data = $block->getFormData();
99
+
100
+ $form_data->setEmail($email);
101
+ $form_data->setFirstname($firstName);
102
+ $form_data->setLastname($lastName);
103
+ }
104
+
105
+ $this->renderLayout();
106
+ }
107
return;
108
} else {
109
Mage::getSingleton('customer/session')->setCustomerAsLoggedIn($customer);
116
}
117
}
118
119
+ /**
120
+ * RPX Callback for Additional Identifiers
121
+ */
122
+ public function token_url_addAction() {
123
$session = $this->_getSession();
124
+ // Redirect if user isn't already authenticated
125
+ if (!$session->isLoggedIn()) {
126
+ $this->_redirect('customer/account/login');
127
+ return;
128
+ }
129
130
+ $token = $this->getRequest()->getPost('token');
131
$auth_info = Mage::helper('engage/rpxcall')->rpxAuthInfoCall($token);
132
133
$customer = Mage::helper('engage/identifiers')->get_customer($auth_info->profile->identifier);
134
135
if ($customer === false) {
136
+ $customer_id = $session->getCustomerId();
137
$profile = Mage::helper('engage')->buildProfile($auth_info);
138
139
Mage::helper('engage/identifiers')->save_identifier($customer_id, $profile);
216
$this->_redirect('customer/account');
217
}
218
219
}
app/code/community/Janrain/Engage/controllers/XdcommController.php ADDED
@@ -0,0 +1,11 @@
1
+ <?php
2
+
3
+ class Janrain_Engage_XdcommController extends Mage_Core_Controller_Front_Action {
4
+
5
+ public function indexAction() {
6
+ $this->loadLayout();
7
+ $block = $this->getLayout()->createBlock('engage/xdcomm');
8
+ $this->getResponse()->setBody($block->toHtml());
9
+ }
10
+
11
+ }
app/code/{local → community}/Janrain/Engage/etc/config.xml RENAMED
@@ -3,10 +3,13 @@
3
<config>
4
<modules>
5
<Janrain_Engage>
6
- <version>1.1.1</version>
7
</Janrain_Engage>
8
</modules>
9
<frontend>
10
<layout>
11
<updates>
12
<engage>
@@ -64,6 +67,15 @@
64
</add_engage_identifier>
65
</observers>
66
</customer_save_after>
67
<admin_system_config_changed_section_engage>
68
<observers>
69
<engage_config_save>
@@ -104,13 +116,13 @@
104
105
<admin>
106
<routers>
107
- <engage>
108
<use>admin</use>
109
<args>
110
<module>Janrain_Engage</module>
111
- <frontName>janrain-engage</frontName>
112
</args>
113
- </engage>
114
</routers>
115
</admin>
116
@@ -149,6 +161,7 @@
149
<options>
150
<apikey></apikey>
151
<enable>1</enable>
152
<path_skin>{{base_skin}}/frontend/janrain</path_skin>
153
</options>
154
@@ -164,4 +177,4 @@
164
</engage>
165
</default>
166
167
- </config>
3
<config>
4
<modules>
5
<Janrain_Engage>
6
+ <version>1.2.0</version>
7
</Janrain_Engage>
8
</modules>
9
<frontend>
10
+ <secure_url>
11
+ <engage>/janrain-engage/rpx/</engage>
12
+ </secure_url>
13
<layout>
14
<updates>
15
<engage>
67
</add_engage_identifier>
68
</observers>
69
</customer_save_after>
70
+ <customer_delete_after>
71
+ <observers>
72
+ <remove_engage_identifiers>
73
+ <type>singleton</type>
74
+ <class>Janrain_Engage_Model_Observer</class>
75
+ <method>removeIdentifiers</method>
76
+ </remove_engage_identifiers>
77
+ </observers>
78
+ </customer_delete_after>
79
<admin_system_config_changed_section_engage>
80
<observers>
81
<engage_config_save>
116
117
<admin>
118
<routers>
119
+ <engageadmin>
120
<use>admin</use>
121
<args>
122
<module>Janrain_Engage</module>
123
+ <frontName>janrain-engage-admin</frontName>
124
</args>
125
+ </engageadmin>
126
</routers>
127
</admin>
128
161
<options>
162
<apikey></apikey>
163
<enable>1</enable>
164
+ <seamless>0</seamless>
165
<path_skin>{{base_skin}}/frontend/janrain</path_skin>
166
</options>
167
177
</engage>
178
</default>
179
180
+ </config>
app/code/{local → community}/Janrain/Engage/etc/system.xml RENAMED
@@ -43,6 +43,17 @@
43
<show_in_website>1</show_in_website>
44
<show_in_store>0</show_in_store>
45
</apikey>
46
</fields>
47
</options>
48
<accountdata translate="label">
@@ -134,4 +145,4 @@
134
</groups>
135
</engage>
136
</sections>
137
- </config>
43
<show_in_website>1</show_in_website>
44
<show_in_store>0</show_in_store>
45
</apikey>
46
+ <seamless>
47
+ <label>Seamless Registration</label>
48
+ <frontend_type>select</frontend_type>
49
+ <comment><![CDATA[Enabling this feature allows users authenticating via a provider that returns all necessary information to skip the registration form.]]>
50
+ </comment>
51
+ <source_model>adminhtml/system_config_source_yesno</source_model>
52
+ <sort_order>70</sort_order>
53
+ <show_in_default>1</show_in_default>
54
+ <show_in_website>1</show_in_website>
55
+ <show_in_store>1</show_in_store>
56
+ </seamless>
57
</fields>
58
</options>
59
<accountdata translate="label">
145
</groups>
146
</engage>
147
</sections>
148
+ </config>
app/code/{local → community}/Janrain/Engage/etc/widget.xml RENAMED
File without changes
app/code/{local/Janrain/Engage/sql/engage_setup/mysql4-install-1.1.1.php → community/Janrain/Engage/sql/engage_setup/mysql4-install-1.2.0.php} RENAMED
File without changes
app/design/frontend/base/default/layout/engage.xml CHANGED
@@ -11,7 +11,7 @@
11
</default>
12
13
<!-- Use our own register.phtml with no password fields and custom action -->
14
- <engage_rpx_authenticate>
15
<label>Customer Account Registration Form</label>
16
<!-- Mage_Customer -->
17
<remove name="right"/>
@@ -29,7 +29,7 @@
29
</block>
30
</block>
31
</reference>
32
- </engage_rpx_authenticate>
33
34
<!-- Ask users what they want to do when they enter an existing customer email address -->
35
<engage_rpx_duplicate>
@@ -58,7 +58,7 @@
58
<reference name="before_body_end">
59
<block type="core/template"
60
name="janrain_engage_scripts"
61
- template="janrain/engage/scripts.phtml"/>
62
</reference>
63
<reference name="head">
64
<block type="core/template"
@@ -73,4 +73,4 @@
73
template="janrain/engage/dashboard.phtml"/>
74
</reference>
75
</customer_account_index>
76
- </layout>
11
</default>
12
13
<!-- Use our own register.phtml with no password fields and custom action -->
14
+ <engage_rpx_token_url>
15
<label>Customer Account Registration Form</label>
16
<!-- Mage_Customer -->
17
<remove name="right"/>
29
</block>
30
</block>
31
</reference>
32
+ </engage_rpx_token_url>
33
34
<!-- Ask users what they want to do when they enter an existing customer email address -->
35
<engage_rpx_duplicate>
58
<reference name="before_body_end">
59
<block type="core/template"
60
name="janrain_engage_scripts"
61
+ template="janrain/engage/scripts_dashboard.phtml"/>
62
</reference>
63
<reference name="head">
64
<block type="core/template"
73
template="janrain/engage/dashboard.phtml"/>
74
</reference>
75
</customer_account_index>
76
+ </layout>
app/design/frontend/base/default/template/janrain/engage/auth.phtml ADDED
@@ -0,0 +1,34 @@
1
+ <script type="text/javascript">
2
+ (function() {
3
+ if (typeof janrain !== "object") window.janrain = {};
4
+ if (typeof janrain.settings !== "object") window.janrain.settings = {};
5
+
6
+ janrain.settings.tokenUrl = "<?php echo Mage::getUrl('engage/rpx/token_url') ?>";
7
+ janrain.settings.appId = "<?php echo Mage::getStoreConfig('engage/vars/appid') ?>";
8
+ janrain.settings.appUrl = "https://<?php echo Mage::getStoreConfig('engage/vars/realm') ?>";
9
+ janrain.settings.type = '<?php echo $this->size; ?>';
10
+
11
+ function isReady() {
12
+ janrain.ready = true;
13
+ };
14
+
15
+ if(document.addEventListener) {
16
+ document.addEventListener("DOMContentLoaded", isReady, false);
17
+ } else {
18
+ window.attachEvent('onload', isReady);
19
+ }
20
+
21
+ var e = document.createElement('script');
22
+ e.type = 'text/javascript';
23
+ e.id = 'janrainAuthWidget';
24
+
25
+ if(document.location.protocol === 'https:') {
26
+ e.src = 'https://rpxnow.com/js/lib/<?php echo Mage::helper('engage') -> rpxRealmName() ?>/engage.js';
27
+ } else {
28
+ e.src = 'http://widget-cdn.rpxnow.com/js/lib/<?php echo Mage::helper('engage') -> rpxRealmName() ?>/engage.js';
29
+ }
30
+
31
+ var s = document.getElementsByTagName('script')[0];
32
+ s.parentNode.insertBefore(e, s);
33
+ })();
34
+ </script>
app/design/frontend/base/default/template/janrain/engage/dashboard.phtml CHANGED
@@ -17,9 +17,9 @@
17
);
18
19
foreach ($identifiers as &$identifier) {
20
- echo '<li style="clear:both;"><div class="rpx_icon_small rpx_'
21
. $identifier->getProvider()
22
- . '_small"></div><span class="rpx_profile_label">'
23
. $identifier->getProfileName()
24
. ' <small>(<a href="'
25
. Mage::getUrl('engage/rpx/removeid', array('identifier' => $identifier->getId()))
@@ -40,7 +40,7 @@
40
$providers = Mage::helper('engage')->getRpxProviders();
41
if (is_array($providers)) {
42
$size = "30";
43
- $wrap_open = '<a class="rpxnow rpx_link_wrap" onclick="return false;" href="'
44
. Mage::helper('engage')->getRpxAuthUrl(true)
45
. '">';
46
$wrap_close = '</a>';
17
);
18
19
foreach ($identifiers as &$identifier) {
20
+ echo '<li style="clear:both;"><div class="jn-icon jn-size16 jn-'
21
. $identifier->getProvider()
22
+ . '"></div> <span class="rpx_profile_label">'
23
. $identifier->getProfileName()
24
. ' <small>(<a href="'
25
. Mage::getUrl('engage/rpx/removeid', array('identifier' => $identifier->getId()))
40
$providers = Mage::helper('engage')->getRpxProviders();
41
if (is_array($providers)) {
42
$size = "30";
43
+ $wrap_open = '<a class="janrainEngage rpxnow rpx_link_wrap" onclick="return false;" href="'
44
. Mage::helper('engage')->getRpxAuthUrl(true)
45
. '">';
46
$wrap_close = '</a>';
app/design/frontend/base/default/template/janrain/engage/scripts.phtml DELETED
@@ -1,15 +0,0 @@
1
- <?php
2
- if (Mage::helper('engage')->isEngageEnabled()):
3
- $source = (isset($_SERVER["HTTPS"]) && $_SERVER["HTTPS"] == "on") ? "https://" : "http://static.";
4
- $source .= "rpxnow.com/js/lib/rpx.js";
5
- ?>
6
- <script type="text/javascript" src="<?php echo $source; ?>"></script>
7
- <script type="text/javascript">
8
- RPXNOW.overlay = true;
9
- RPXNOW.language_preference = 'en';
10
- <?php if ($appId = Mage::getStoreConfig('engage/vars/appid')): ?>
11
- RPXNOW.init({appId: '<?php echo $appId; ?>',
12
- xdReceiver: '<?php echo Mage::getUrl('engage/rpx/xdcomm', array('_nosid' => true)); ?>'});
13
- <?php endif; ?>
14
- </script>
15
- <?php endif; ?>
app/design/frontend/base/default/template/janrain/engage/scripts_dashboard.phtml ADDED
@@ -0,0 +1,40 @@
1
+ <?php
2
+ if (Mage::helper('engage')->isEngageEnabled()):
3
+ ?>
4
+ <script type="text/javascript">
5
+ (function() {
6
+ if( typeof window.janrain !== 'object')
7
+ window.janrain = {};
8
+ window.janrain.settings = {};
9
+
10
+ janrain.settings.tokenUrl = "<?php echo Mage::getUrl('engage/rpx/token_url_add') ?>";
11
+ janrain.settings.appId = "<?php echo Mage::getStoreConfig('engage/vars/appid') ?>";
12
+ janrain.settings.appUrl = "https://<?php echo Mage::getStoreConfig('engage/vars/realm') ?>";
13
+ janrain.settings.type = 'modal';
14
+
15
+ function isReady() {
16
+ janrain.ready = true;
17
+ };
18
+
19
+ if(document.addEventListener) {
20
+ document.addEventListener("DOMContentLoaded", isReady, false);
21
+ } else {
22
+ window.attachEvent('onload', isReady);
23
+ }
24
+
25
+ var e = document.createElement('script');
26
+ e.type = 'text/javascript';
27
+ e.id = 'janrainAuthWidget';
28
+
29
+ if(document.location.protocol === 'https:') {
30
+ e.src = 'https://rpxnow.com/js/lib/<?php echo Mage::helper('engage') -> rpxRealmName() ?>/engage.js';
31
+ } else {
32
+ e.src = 'http://widget-cdn.rpxnow.com/js/lib/<?php echo Mage::helper('engage') -> rpxRealmName() ?>/engage.js';
33
+ }
34
+
35
+ var s = document.getElementsByTagName('script')[0];
36
+ s.parentNode.insertBefore(e, s);
37
+ })();
38
+
39
+ </script>
40
+ <?php endif;?>
app/design/frontend/base/default/template/janrain/engage/share.phtml ADDED
@@ -0,0 +1,34 @@
1
+ <script type="text/javascript">
2
+ (function() {
3
+ if (typeof window.janrain !== 'object') window.janrain = {};
4
+ if (typeof window.janrain.settings !== 'object') window.janrain.settings = {};
5
+ if (typeof window.janrain.settings.share !== 'object') window.janrain.settings.share = {};
6
+ if (typeof window.janrain.settings.packages !== 'object') janrain.settings.packages = ['share'];
7
+ else janrain.settings.packages.push('share');
8
+
9
+ janrain.settings.share.message = "<?php echo $this->message; ?>";
10
+ janrain.settings.share.title = "<?php echo Mage::getSingleton('cms/page')->getTitle(); ?>";
11
+ janrain.settings.share.url = "<?php echo Mage::helper('core/url')->getCurrentUrl(); ?>";
12
+ janrain.settings.share.description = "";
13
+
14
+ function isReady() { janrain.ready = true; };
15
+ if (document.addEventListener) {
16
+ document.addEventListener("DOMContentLoaded", isReady, false);
17
+ } else {
18
+ window.attachEvent('onload', isReady);
19
+ }
20
+
21
+ var e = document.createElement('script');
22
+ e.type = 'text/javascript';
23
+ e.id = 'janrainWidgets';
24
+
25
+ if (document.location.protocol === 'https:') {
26
+ e.src = 'https://rpxnow.com/js/lib/<?php echo Mage::helper('engage')->rpxRealmName() ?>/share_beta.js';
27
+ } else {
28
+ e.src = 'http://widget-cdn.rpxnow.com/js/lib/<?php echo Mage::helper('engage')->rpxRealmName() ?>/share_beta.js';
29
+ }
30
+
31
+ var s = document.getElementsByTagName('script')[0];
32
+ s.parentNode.insertBefore(e, s);
33
+ })();
34
+ </script>
app/design/frontend/base/default/template/janrain/engage/styles.phtml CHANGED
@@ -1,6 +1,5 @@
1
<?php
2
if (Mage::helper('engage')->isEngageEnabled()):
3
- //&& $this->getLayout()->getBlock('janrain_engage_scripts') != false):
4
?>
5
<link type="text/css" href="<?php echo Mage::helper('engage')->_baseSkin(); ?>/stylesheet.css" rel="stylesheet" />
6
- <?php endif; ?>
1
<?php
2
if (Mage::helper('engage')->isEngageEnabled()):
3
?>
4
<link type="text/css" href="<?php echo Mage::helper('engage')->_baseSkin(); ?>/stylesheet.css" rel="stylesheet" />
5
+ <?php endif; ?>
app/etc/modules/Janrain_Engage.xml CHANGED
@@ -3,7 +3,7 @@
3
<modules>
4
<Janrain_Engage>
5
<active>true</active>
6
- <codePool>local</codePool>
7
<depends>
8
<Mage_Cms />
9
</depends>
3
<modules>
4
<Janrain_Engage>
5
<active>true</active>
6
+ <codePool>community</codePool>
7
<depends>
8
<Mage_Cms />
9
</depends>
package.xml CHANGED
@@ -1,18 +1,18 @@
1
<?xml version="1.0"?>
2
<package>
3
<name>Janrain_Engage_Plugin</name>
4
- <version>1.1.1</version>
5
<stability>stable</stability>
6
- <license>Apache Software Licence</license>
7
<channel>community</channel>
8
<extends/>
9
- <summary>Adds Janrain Engage capability to Magento</summary>
10
- <description>Login and share content via Facebook, Google, Yahoo!, Windows Live, Aol, Twitter and others.</description>
11
- <notes>Using more standard authentication methods; fixed an xdcomm bug when used with hosted Enterprise versions.</notes>
12
- <authors><author><name>Bryce Hamrick</name><user>auto-converted</user><email>bryce@janrain.com</email></author></authors>
13
- <date>2011-11-09</date>
14
- <time>23:23:36</time>
15
- <contents><target name="magelocal"><dir name="Janrain"><dir name="Engage"><dir name="Block"><file name="Accountdata.php" hash="d15411df0f09240806df712a823a9e8f"/><file name="Auth.php" hash="fe580949c73e43304cbcdbefc709bbd3"/><file name="Info.php" hash="83bc006b05eba79c576bd495c2e4b7da"/><file name="Share.php" hash="a264d4cab805f75811230e0d6341d67e"/><file name="Xdcomm.php" hash="7c95c131ee89a079e0f939d6cc74fca2"/></dir><dir name="Helper"><file name="Data.php" hash="972f295ecffb10e613a49fcd4d21ecbc"/><file name="Identifiers.php" hash="9102aeb36fa865a6bfe2941f6ba390af"/><file name="Rpxcall.php" hash="33c0920753282bc10be42c268bdf66fb"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Identifiers"><file name="Collection.php" hash="55b32ceef6b7264c62833d7ed25bad13"/></dir><file name="Identifiers.php" hash="0caed34306118b774a903df2feb51169"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="797bbf70f12b86487b1cda632e236cfb"/></dir></dir></dir><file name="Identifiers.php" hash="4e996d44faaa79db5cebd8e11b2e0583"/><file name="Observer.php" hash="3205131303d407a80c9578963b613afd"/><file name="Session.php" hash="b95af8380dc2b6290fa9597e2ee47e4a"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="LookupController.php" hash="e3c27cae9aa55ab4a8631296d99bc243"/></dir><file name="RpxController.php" hash="3f2bd94d1c1dc2f0a67be069ded3293f"/></dir><dir name="etc"><file name="config.xml" hash="2fac2202170030dd6fc7617eabeea5cd"/><file name="system.xml" hash="9f9b5fff16ab0fbf04e644177b22c9fc"/><file name="widget.xml" hash="45f819c99605e20d3ebf09e2ac52d463"/></dir><dir name="sql"><dir name="engage_setup"><file name="mysql4-install-1.1.1.php" hash="2ce66b0568ed83142c04c2ff03f0db0c"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="janrain"><dir name="engage"><file name="dashboard.phtml" hash="9b1580669b85b4809b8aae282663dc8d"/><file name="duplicate.phtml" hash="771e6676b6d1f42283740deacafab4d8"/><file name="register.phtml" hash="9273f30fece25a7cc2503fdfd2d1b891"/><file name="scripts.phtml" hash="e61f75a115f76d6d823c4284b98c968a"/><file name="styles.phtml" hash="47b1acf14a9e702a587f3b7e344390b1"/></dir></dir></dir><dir name="layout"><file name="engage.xml" hash="1ecfd8ebed5018abf21efb696a7ced72"/></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="janrain"><file name="jn-icons16.png" hash="b32bc05f1eeeed0b1859141df0d11506"/><file name="jn-icons32.png" hash="ccbef20afccb55f28a3fe2869a91a5f0"/><file name="stylesheet.css" hash="1e37682ac44639370db6d67470dc95bc"/></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Janrain_Engage.csv" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></target><target name="mageetc"><dir name="modules"><file name="Janrain_Engage.xml" hash="d824b53ac89b3858d9c13b9dda2916b3"/></dir></target></contents>
16
<compatible/>
17
<dependencies/>
18
</package>
1
<?xml version="1.0"?>
2
<package>
3
<name>Janrain_Engage_Plugin</name>
4
+ <version>1.2.0</version>
5
<stability>stable</stability>
6
+ <license>ASL</license>
7
<channel>community</channel>
8
<extends/>
9
+ <summary>Social Login and Social Sharing</summary>
10
+ <description>Speed login and registration, drive referrals and engagement.</description>
11
+ <notes>Upgraded widgets to latest all-javascript versions, added seamless registration.</notes>
12
+ <authors><author><name>Janrain</name><user>auto-converted</user><email>magento@janrain.com</email></author><author><name>Bryce Hamrick</name><user>auto-converted</user><email>bryce@janrain.com</email></author></authors>
13
+ <date>2012-05-16</date>
14
+ <time>20:19:15</time>
15
+ <contents><target name="magecommunity"><dir name="Janrain"><dir name="Engage"><dir name="Block"><file name="Accountdata.php" hash="13d0a94f22fe6606140a7df0e3bf940f"/><file name="Auth.php" hash="ead05d0daac9aa2af02d207234f2b532"/><file name="Info.php" hash="83bc006b05eba79c576bd495c2e4b7da"/><file name="Share.php" hash="17c1a5dbaa91998d0ba5d4931ae06d75"/><file name="Xdcomm.php" hash="1cf135ad6c7ce1ce10d22d43ffb28ff4"/></dir><dir name="Helper"><file name="Data.php" hash="5fd11f0bb2142d05a854b06ded0350bf"/><file name="Identifiers.php" hash="82df0bf18a9065bb1b9b8e2d7d437f02"/><file name="Rpxcall.php" hash="33c0920753282bc10be42c268bdf66fb"/></dir><dir name="Model"><dir name="Mysql4"><dir name="Identifiers"><file name="Collection.php" hash="55b32ceef6b7264c62833d7ed25bad13"/></dir><file name="Identifiers.php" hash="0caed34306118b774a903df2feb51169"/></dir><dir name="Resource"><dir name="Eav"><dir name="Mysql4"><file name="Setup.php" hash="797bbf70f12b86487b1cda632e236cfb"/></dir></dir></dir><file name="Identifiers.php" hash="4e996d44faaa79db5cebd8e11b2e0583"/><file name="Observer.php" hash="9639e480dfc1f20f8ffb25035031b71f"/><file name="Session.php" hash="b95af8380dc2b6290fa9597e2ee47e4a"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="LookupController.php" hash="e3c27cae9aa55ab4a8631296d99bc243"/></dir><file name="RpxController.php" hash="de41c3eac8fcbe4f4e0301f063b629e2"/><file name="XdcommController.php" hash="0ec06d387ca2fac28540901c0d2fff8d"/></dir><dir name="etc"><file name="config.xml" hash="8e3937e2ea8668df4a6583ab240c63e4"/><file name="system.xml" hash="fbb4521b0ac40230c882d567bae187f4"/><file name="widget.xml" hash="45f819c99605e20d3ebf09e2ac52d463"/></dir><dir name="sql"><dir name="engage_setup"><file name="mysql4-install-1.2.0.php" hash="2ce66b0568ed83142c04c2ff03f0db0c"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="template"><dir name="janrain"><dir name="engage"><file name="auth.phtml" hash="8e61ad42095e824e4adc5ca85616bed8"/><file name="dashboard.phtml" hash="9b793510890bc556f93ea7a5d32c2ac0"/><file name="duplicate.phtml" hash="771e6676b6d1f42283740deacafab4d8"/><file name="register.phtml" hash="9273f30fece25a7cc2503fdfd2d1b891"/><file name="scripts_dashboard.phtml" hash="cb39c9c75df2d30a6a739aa0072be045"/><file name="share.phtml" hash="a037fd0864641e925429057e74c9ce7f"/><file name="styles.phtml" hash="3be45ace87bbb5f498b23458fa6297a3"/></dir></dir></dir><dir name="layout"><file name="engage.xml" hash="5258f3bc17340a6c30818375ff886766"/></dir></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Janrain_Engage.xml" hash="b13e55afe8a48e56ab57768870cfb7bc"/></dir></target><target name="magelocale"><dir name="en_US"><file name="Janrain_Engage.csv" hash="d41d8cd98f00b204e9800998ecf8427e"/></dir></target><target name="mageskin"><dir name="frontend"><dir name="janrain"><file name="jn-icons16.png" hash="b32bc05f1eeeed0b1859141df0d11506"/><file name="jn-icons32.png" hash="ccbef20afccb55f28a3fe2869a91a5f0"/><file name="stylesheet.css" hash="fd4b593c28a2dc87124ba7a488d7db5b"/></dir></dir></target></contents>
16
<compatible/>
17
<dependencies/>
18
</package>
skin/frontend/janrain/stylesheet.css CHANGED
@@ -30,11 +30,13 @@
30
margin-left:auto; margin-right:auto;
31
}
32
33
.rpx_label {
34
- font-size:small; font-style:serif;
35
color:#666;
36
margin:3px;
37
padding:0px;
38
}
39
40
.rpx_tooltip {
@@ -73,12 +75,11 @@
73
}
74
75
.jn-icon {
76
- display:block;
77
background-repeat:no-repeat;
78
- background-position:fixed;
79
border:0;
80
margin:0;
81
- float:left;
82
}
83
84
.jn-icon:hover { cursor:pointer; }
30
margin-left:auto; margin-right:auto;
31
}
32
33
+
34
.rpx_label {
35
+ font-size:small;
36
color:#666;
37
margin:3px;
38
padding:0px;
39
+ display:block;
40
}
41
42
.rpx_tooltip {
75
}
76
77
.jn-icon {
78
+ display:inline-block;
79
background-repeat:no-repeat;
80
border:0;
81
margin:0;
82
+ float: none;
83
}
84
85
.jn-icon:hover { cursor:pointer; }