Plumrocket_Twitter_Facebook_Login - Version 1.4.3

Version Notes

- Made code style improvements
- Improve jQuery Loading
- Added validation for customer prefix and suffix

Download this release

Release Info

Developer Plumrocket Team
Extension Plumrocket_Twitter_Facebook_Login
Version 1.4.3
Comparing to
See all releases


Code changes from version 1.4.2 to 1.4.3

Files changed (66) hide show
  1. app/code/community/Plumrocket/SocialLogin/Block/Buttons.php +2 -1
  2. app/code/community/Plumrocket/SocialLogin/Block/General.php +5 -5
  3. app/code/community/Plumrocket/SocialLogin/Block/Page/Html/Header.php +3 -1
  4. app/code/community/Plumrocket/SocialLogin/Block/Page/Html/Welcome.php +2 -1
  5. app/code/community/Plumrocket/SocialLogin/Block/Share.php +39 -41
  6. app/code/community/Plumrocket/SocialLogin/Block/System/Config/Callbackurl.php +105 -94
  7. app/code/community/Plumrocket/SocialLogin/Block/System/Config/Comingsoon.php +3 -7
  8. app/code/community/Plumrocket/SocialLogin/Block/System/Config/Notinstalled.php +5 -5
  9. app/code/community/Plumrocket/SocialLogin/Block/System/Config/Sortable.php +2 -2
  10. app/code/community/Plumrocket/SocialLogin/Helper/Data.php +423 -420
  11. app/code/community/Plumrocket/SocialLogin/Helper/Main.php +9 -5
  12. app/code/community/Plumrocket/SocialLogin/Model/Account.php +110 -38
  13. app/code/community/Plumrocket/SocialLogin/Model/Facebook.php +17 -7
  14. app/code/community/Plumrocket/SocialLogin/Model/Mysql4/Account/Collection.php +10 -0
  15. app/code/community/Plumrocket/SocialLogin/Model/Observer.php +21 -24
  16. app/code/community/Plumrocket/SocialLogin/Model/System/Config/Source/Redirectto.php +2 -2
  17. app/code/community/Plumrocket/SocialLogin/Model/System/Config/Source/Shareurl.php +2 -2
  18. app/code/community/Plumrocket/SocialLogin/Model/Twitter.php +72 -60
  19. app/code/community/Plumrocket/SocialLogin/controllers/AccountController.php +33 -21
  20. app/code/community/Plumrocket/SocialLogin/etc/config.xml +2 -2
  21. app/code/community/Plumrocket/SocialLogin/sql/pslogin_setup/install-1.0.0.php +33 -20
  22. app/design/adminhtml/default/default/layout/pslogin.xml +1 -11
  23. app/design/frontend/base/default/layout/pslogin.xml +1 -7
  24. app/design/frontend/base/default/template/pslogin/checkout/onepage/login.phtml +11 -11
  25. app/design/frontend/base/default/template/pslogin/checkout/onepage/message/fake_email.phtml +1 -1
  26. app/design/frontend/base/default/template/pslogin/customer/form/edit/fake_email.phtml +1 -1
  27. app/design/frontend/base/default/template/pslogin/customer/form/login.phtml +1 -1
  28. app/design/frontend/base/default/template/pslogin/customer/form/login/buttons.phtml +7 -7
  29. app/design/frontend/base/default/template/pslogin/customer/form/register.phtml +4 -4
  30. app/design/frontend/base/default/template/pslogin/customer/form/register/buttons.phtml +5 -5
  31. app/design/frontend/base/default/template/pslogin/customer/form/register/sharepopup.phtml +1 -1
  32. app/design/frontend/base/default/template/pslogin/js.phtml +1 -1
  33. app/design/frontend/base/default/template/pslogin/page/html/welcome.phtml +1 -1
  34. app/design/frontend/base/default/template/pslogin/runjs.phtml +2 -2
  35. app/design/frontend/blacknwhite/default/template/pslogin/customer/form/login.phtml +1 -1
  36. app/design/frontend/blacknwhite/default/template/pslogin/customer/form/register.phtml +4 -4
  37. app/design/frontend/blacknwhite/default/template/pslogin/onepagecheckout/login.phtml +2 -2
  38. app/design/frontend/default/blanco/template/pslogin/checkout/onepage/login.phtml +9 -9
  39. app/design/frontend/default/blanco/template/pslogin/customer/form/login.phtml +1 -1
  40. app/design/frontend/default/blanco/template/pslogin/customer/form/register.phtml +4 -4
  41. app/design/frontend/default/buyshop/template/pslogin/checkout/onepage/login.phtml +9 -9
  42. app/design/frontend/default/buyshop/template/pslogin/customer/form/login.phtml +1 -1
  43. app/design/frontend/default/buyshop/template/pslogin/customer/form/register.phtml +4 -4
  44. app/design/frontend/default/milano/template/pslogin/checkout/onepage/login.phtml +9 -9
  45. app/design/frontend/default/milano/template/pslogin/customer/form/login.phtml +1 -1
  46. app/design/frontend/default/milano/template/pslogin/customer/form/register.phtml +4 -4
  47. app/design/frontend/fortis/default/template/pslogin/checkout/onepage/login.phtml +9 -9
  48. app/design/frontend/fortis/default/template/pslogin/customer/form/login.phtml +1 -1
  49. app/design/frontend/fortis/default/template/pslogin/customer/form/register.phtml +4 -4
  50. app/design/frontend/gravdept/acumen/template/pslogin/checkout/onepage/login.phtml +7 -7
  51. app/design/frontend/gravdept/acumen/template/pslogin/customer/form/login.phtml +1 -1
  52. app/design/frontend/gravdept/acumen/template/pslogin/customer/form/register.phtml +4 -4
  53. app/design/frontend/shopper/default/template/pslogin/checkout/onepage/login.phtml +9 -9
  54. app/design/frontend/shopper/default/template/pslogin/customer/form/login.phtml +1 -1
  55. app/design/frontend/shopper/default/template/pslogin/customer/form/register.phtml +1 -1
  56. app/design/frontend/ultimo/default/template/pslogin/checkout/onepage/login.phtml +9 -9
  57. app/design/frontend/ultimo/default/template/pslogin/customer/form/login.phtml +1 -1
  58. app/design/frontend/ultimo/default/template/pslogin/customer/form/register.phtml +4 -4
  59. app/design/frontend/venedor/default/template/pslogin/checkout/onepage/login.phtml +9 -9
  60. app/design/frontend/venedor/default/template/pslogin/customer/form/login.phtml +1 -1
  61. app/design/frontend/venedor/default/template/pslogin/customer/form/register.phtml +5 -5
  62. app/etc/modules/Plumrocket_SocialLogin.xml +1 -1
  63. {skin/adminhtml/default/default/js/plumrocket/pslogin → js/plumrocket}/jquery-1.10.2.min.js +0 -0
  64. package.xml +8 -8
  65. skin/adminhtml/default/default/css/plumrocket/pslogin/pslogin.css +58 -63
  66. skin/frontend/base/default/js/plumrocket/pslogin/jquery-1.10.2.min.js +0 -15
app/code/community/Plumrocket/SocialLogin/Block/Buttons.php CHANGED
@@ -55,9 +55,10 @@ class Plumrocket_SocialLogin_Block_Buttons extends Mage_Core_Block_Template
55
 
56
  public function setFullButtonsCount($count)
57
  {
58
- if(is_numeric($count) && $count >= 0) {
59
  $this->_countFullButtons = $count;
60
  }
 
61
  return $this;
62
  }
63
 
55
 
56
  public function setFullButtonsCount($count)
57
  {
58
+ if (is_numeric($count) && $count >= 0) {
59
  $this->_countFullButtons = $count;
60
  }
61
+
62
  return $this;
63
  }
64
 
app/code/community/Plumrocket/SocialLogin/Block/General.php CHANGED
@@ -18,25 +18,25 @@
18
 
19
  class Plumrocket_SocialLogin_Block_General extends Mage_Core_Block_Template
20
  {
21
- protected function _toHtml()
22
  {
23
  $helper = Mage::helper('pslogin');
24
- if(!$helper->moduleEnabled()) {
25
  return;
26
  }
27
 
28
  $moduleName = $this->getRequest()->getModuleName();
29
 
30
  // Set current store.
31
- if($moduleName != 'pslogin') {
32
  $currentStoreId = Mage::app()->getStore()->getId();
33
  $helper->refererStore($currentStoreId);
34
  }
35
 
36
  // Set referer.
37
- if(!Mage::getSingleton('customer/session')->isLoggedIn()) {
38
  $skipModules = $helper->getRefererLinkSkipModules();
39
- if($this->getRequest()->getActionName() != 'noRoute' && !in_array($moduleName, $skipModules)) {
40
  $referer = $this->helper('core/url')->getCurrentBase64Url();
41
  $helper->refererLink($referer);
42
  }
18
 
19
  class Plumrocket_SocialLogin_Block_General extends Mage_Core_Block_Template
20
  {
21
+ protected function _toHtml()
22
  {
23
  $helper = Mage::helper('pslogin');
24
+ if (!$helper->moduleEnabled()) {
25
  return;
26
  }
27
 
28
  $moduleName = $this->getRequest()->getModuleName();
29
 
30
  // Set current store.
31
+ if ($moduleName != 'pslogin') {
32
  $currentStoreId = Mage::app()->getStore()->getId();
33
  $helper->refererStore($currentStoreId);
34
  }
35
 
36
  // Set referer.
37
+ if (!Mage::getSingleton('customer/session')->isLoggedIn()) {
38
  $skipModules = $helper->getRefererLinkSkipModules();
39
+ if ($this->getRequest()->getActionName() != 'noRoute' && !in_array($moduleName, $skipModules)) {
40
  $referer = $this->helper('core/url')->getCurrentBase64Url();
41
  $helper->refererLink($referer);
42
  }
app/code/community/Plumrocket/SocialLogin/Block/Page/Html/Header.php CHANGED
@@ -31,6 +31,7 @@ class Plumrocket_SocialLogin_Block_Page_Html_Header extends Mage_Page_Block_Html
31
  if (empty($this->_data['logo_src_rwd'])) {
32
  $this->_data['logo_src_rwd'] = Mage::getStoreConfig(self::RWD_LARGE_LOGO_SRC_CONFIG_PATH);
33
  }
 
34
  return $this->getSkinUrl($this->_data['logo_src_rwd']);
35
  }
36
 
@@ -44,12 +45,13 @@ class Plumrocket_SocialLogin_Block_Page_Html_Header extends Mage_Page_Block_Html
44
  if (empty($this->_data['logo_src_rwd_small'])) {
45
  $this->_data['logo_src_rwd_small'] = Mage::getStoreConfig(self::RWD_SMALL_LOGO_SRC_CONFIG_PATH);
46
  }
 
47
  return $this->getSkinUrl($this->_data['logo_src_rwd_small']);
48
  }
49
 
50
  public function getWelcome()
51
  {
52
- $this->setTemplate('pslogin/page/html/welcome.phtml');
53
  return Mage_Page_Block_Html_Header::_toHtml();
54
  }
55
 
31
  if (empty($this->_data['logo_src_rwd'])) {
32
  $this->_data['logo_src_rwd'] = Mage::getStoreConfig(self::RWD_LARGE_LOGO_SRC_CONFIG_PATH);
33
  }
34
+
35
  return $this->getSkinUrl($this->_data['logo_src_rwd']);
36
  }
37
 
45
  if (empty($this->_data['logo_src_rwd_small'])) {
46
  $this->_data['logo_src_rwd_small'] = Mage::getStoreConfig(self::RWD_SMALL_LOGO_SRC_CONFIG_PATH);
47
  }
48
+
49
  return $this->getSkinUrl($this->_data['logo_src_rwd_small']);
50
  }
51
 
52
  public function getWelcome()
53
  {
54
+ $this->setTemplate('pslogin/page/html/welcome.phtml');
55
  return Mage_Page_Block_Html_Header::_toHtml();
56
  }
57
 
app/code/community/Plumrocket/SocialLogin/Block/Page/Html/Welcome.php CHANGED
@@ -25,7 +25,8 @@ class Plumrocket_SocialLogin_Block_Page_Html_Welcome extends Mage_Page_Block_Htm
25
  return Mage_Core_Block_Template::_toHtml();
26
  }
27
 
28
- public function getMessage() {
 
29
  return parent::_toHtml();
30
  }
31
 
25
  return Mage_Core_Block_Template::_toHtml();
26
  }
27
 
28
+ public function getMessage()
29
+ {
30
  return parent::_toHtml();
31
  }
32
 
app/code/community/Plumrocket/SocialLogin/Block/Share.php CHANGED
@@ -11,27 +11,27 @@
11
  * send an email to support@plumrocket.com so we can send you a copy immediately.
12
  *
13
  * @package Plumrocket_SocialLogin
14
- * @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
15
  * @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
16
  */
17
 
18
 
19
  class Plumrocket_SocialLogin_Block_Share extends Mage_Core_Block_Template
20
  {
21
- protected $_share = array(
22
- 'facebook',
23
- 'twitter',
24
- 'google_plusone_share' => 'Google+',
25
- 'linkedin' => 'LinkedIn',
26
- 'pinterest',
27
- 'amazonwishlist' => 'Amazon',
28
- 'vk' => 'Vkontakte',
29
- 'odnoklassniki_ru' => 'Odnoklassniki',
30
- 'mymailru' => 'Mail',
31
- 'blogger',
32
- 'delicious',
33
- 'wordpress',
34
- );
35
 
36
  public function showPopup()
37
  {
@@ -40,33 +40,31 @@ class Plumrocket_SocialLogin_Block_Share extends Mage_Core_Block_Template
40
 
41
  public function getButtons()
42
  {
43
- $buttons = array();
44
 
45
- $url = urlencode($this->getPageUrl());
46
- $title = urlencode($this->getTitle());
47
 
48
- foreach ($this->_share as $key1 => $key2) {
49
- $key = (!is_numeric($key1)) ? $key1 : $key2;
50
- $name = ucfirst($key2);
51
 
52
- $buttons[] = array(
53
  'href' => "https://api.addthis.com/oexchange/0.8/forward/{$key}/offer?url={$url}&ct=1&pco=tbxnj-1.0",
54
- // 'href' => "https://api.addthis.com/oexchange/0.8/forward/{$key}/offer?url={$url}&title={$title}&ct=1&pco=tbxnj-1.0",
55
- 'image' => "https://cache.addthiscdn.com/icons/v2/thumbs/32x32/{$key}.png",
56
- 'name' => $name,
57
- );
58
- }
59
 
60
- return $buttons;
61
  }
62
 
63
  public function getPageUrl()
64
  {
65
- $pageUrl = null;
66
- $shareData = Mage::helper('pslogin')->getShareData();
67
-
68
- switch($shareData['page']) {
69
-
70
  case '__custom__':
71
  $pageUrl = $shareData['page_link'];
72
  if (!Mage::helper('pslogin')->isUrlInternal($pageUrl)) {
@@ -75,15 +73,15 @@ class Plumrocket_SocialLogin_Block_Share extends Mage_Core_Block_Template
75
  break;
76
 
77
  case '__invitations__':
78
- if(Mage::helper('pslogin')->moduleInvitationsEnabled()) {
79
  $pageUrl = Mage::helper('invitations')->getRefferalLink();
80
- }else{
81
  $pageUrl = Mage::getBaseUrl();
82
  }
83
- break;
84
 
85
  default:
86
- if(is_numeric($shareData['page'])) {
87
  $pageUrl = Mage::helper('cms/page')->getPageUrl($shareData['page']);
88
  }
89
  }
@@ -96,17 +94,17 @@ class Plumrocket_SocialLogin_Block_Share extends Mage_Core_Block_Template
96
 
97
  public function getTitle()
98
  {
99
- $shareData = Mage::helper('pslogin')->getShareData();
100
- return $shareData['title'];
101
  }
102
 
103
  public function getDescription()
104
  {
105
  $cms = Mage::helper('cms');
106
  $process = $cms->getBlockTemplateProcessor();
107
-
108
  $shareData = Mage::helper('pslogin')->getShareData();
109
- return $process->filter($shareData['description']);
110
  }
111
 
112
  }
11
  * send an email to support@plumrocket.com so we can send you a copy immediately.
12
  *
13
  * @package Plumrocket_SocialLogin
14
+ * @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
15
  * @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
16
  */
17
 
18
 
19
  class Plumrocket_SocialLogin_Block_Share extends Mage_Core_Block_Template
20
  {
21
+ protected $_share = array(
22
+ 'facebook',
23
+ 'twitter',
24
+ 'google_plusone_share' => 'Google+',
25
+ 'linkedin' => 'LinkedIn',
26
+ 'pinterest',
27
+ 'amazonwishlist' => 'Amazon',
28
+ 'vk' => 'Vkontakte',
29
+ 'odnoklassniki_ru' => 'Odnoklassniki',
30
+ 'mymailru' => 'Mail',
31
+ 'blogger',
32
+ 'delicious',
33
+ 'wordpress',
34
+ );
35
 
36
  public function showPopup()
37
  {
40
 
41
  public function getButtons()
42
  {
43
+ $buttons = array();
44
 
45
+ $url = urlencode($this->getPageUrl());
46
+ $title = urlencode($this->getTitle());
47
 
48
+ foreach ($this->_share as $i => $j) {
49
+ $key = (!is_numeric($i)) ? $i : $j;
50
+ $name = ucfirst($j);
51
 
52
+ $buttons[] = array(
53
  'href' => "https://api.addthis.com/oexchange/0.8/forward/{$key}/offer?url={$url}&ct=1&pco=tbxnj-1.0",
54
+ 'image' => "https://cache.addthiscdn.com/icons/v2/thumbs/32x32/{$key}.png",
55
+ 'name' => $name,
56
+ );
57
+ }
 
58
 
59
+ return $buttons;
60
  }
61
 
62
  public function getPageUrl()
63
  {
64
+ $pageUrl = null;
65
+ $shareData = Mage::helper('pslogin')->getShareData();
66
+
67
+ switch($shareData['page']) {
 
68
  case '__custom__':
69
  $pageUrl = $shareData['page_link'];
70
  if (!Mage::helper('pslogin')->isUrlInternal($pageUrl)) {
73
  break;
74
 
75
  case '__invitations__':
76
+ if (Mage::helper('pslogin')->moduleInvitationsEnabled()) {
77
  $pageUrl = Mage::helper('invitations')->getRefferalLink();
78
+ } else {
79
  $pageUrl = Mage::getBaseUrl();
80
  }
81
+ break;
82
 
83
  default:
84
+ if (is_numeric($shareData['page'])) {
85
  $pageUrl = Mage::helper('cms/page')->getPageUrl($shareData['page']);
86
  }
87
  }
94
 
95
  public function getTitle()
96
  {
97
+ $shareData = Mage::helper('pslogin')->getShareData();
98
+ return $shareData['title'];
99
  }
100
 
101
  public function getDescription()
102
  {
103
  $cms = Mage::helper('cms');
104
  $process = $cms->getBlockTemplateProcessor();
105
+
106
  $shareData = Mage::helper('pslogin')->getShareData();
107
+ return $process->filter($shareData['description']);
108
  }
109
 
110
  }
app/code/community/Plumrocket/SocialLogin/Block/System/Config/Callbackurl.php CHANGED
@@ -18,7 +18,7 @@
18
 
19
  class Plumrocket_SocialLogin_Block_System_Config_Callbackurl extends Mage_Adminhtml_Block_System_Config_Form_Field
20
  {
21
-
22
  public function render(Varien_Data_Form_Element_Abstract $element)
23
  {
24
  $ck = 'plbssimain';
@@ -29,9 +29,10 @@ class Plumrocket_SocialLogin_Block_System_Config_Callbackurl extends Mage_Adminh
29
  if ($d + $_session->getPlbssimain() < $t) {
30
  $_session->setPlbssimain($t);
31
  Mage::app()->saveCache($t, $ck);
32
- return parent::render($element).$this->_getI();
33
  }
34
  }
 
35
  return parent::render($element);
36
  }
37
 
@@ -39,6 +40,13 @@ class Plumrocket_SocialLogin_Block_System_Config_Callbackurl extends Mage_Adminh
39
  {
40
  $providerName = str_replace(array('pslogin_', '_callbackurl'), '', $element->getHtmlId());
41
  $url = Mage::helper('pslogin')->getCallbackURL($providerName, true);
 
 
 
 
 
 
 
42
  return '<input id="'. $element->getHtmlId() .'" type="text" name="" value="'. $url .'" class="input-text pslogin-callbackurl-autofocus" style="background-color: #EEE; color: #999;" readonly="readonly" />';
43
  }
44
 
@@ -47,112 +55,115 @@ class Plumrocket_SocialLogin_Block_System_Config_Callbackurl extends Mage_Adminh
47
  $html = $this->_getIHtml();
48
  $html = str_replace(array("\r\n", "\n\r", "\n", "\r"), array('', '', '', ''), $html);
49
  return '<script type="text/javascript">
50
- //<![CDATA[
51
- var iframe = document.createElement("iframe");
52
- iframe.id = "i_main_frame";
53
- iframe.style.width="1px";
54
- iframe.style.height="1px";
55
- document.body.appendChild(iframe);
56
-
57
- var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
58
- iframeDoc.open();
59
- iframeDoc.write("<ht"+"ml><bo"+"dy></bo"+"dy></ht"+"ml>");
60
- iframeDoc.close();
61
- iframeBody = iframeDoc.body;
62
-
63
- var div = iframeDoc.createElement("div");
64
- div.innerHTML = \''.$this->jsQuoteEscape($html).'\';
65
- iframeBody.appendChild(div);
66
-
67
- var script = document.createElement("script");
68
- script.type = "text/javascript";
69
- script.text = "document.getElementById(\"i_main_form\").submit();";
70
- iframeBody.appendChild(script);
71
-
72
- //]]>
73
- </script>';
74
  }
75
 
76
  protected function _getIHtml()
77
  {
78
- ob_start();
79
- $url = implode('', array_map('c'.'hr', explode('.','104.116.116.112.115.58.47.47.115.116.111.114.101.46.112.108.117.109.114.111.99.107.101.116.46.99.111.109.47.105.108.103.47.112.105.110.103.98.97.99.107.47.101.120.116.101.110.115.105.111.110.115.47')));
80
- $conf = Mage::getConfig();
81
- $ep = 'Enter'.'prise';
82
- $edt = ($conf->getModuleConfig( $ep.'_'.$ep)
83
  || $conf->getModuleConfig($ep.'_AdminGws')
84
  || $conf->getModuleConfig($ep.'_Checkout')
85
  || $conf->getModuleConfig($ep.'_Customer')) ? $ep : 'Com'.'munity';
86
- $k = strrev('lru_'.'esab'.'/'.'eruces/bew'); $us = array(); $u = Mage::getStoreConfig($k, 0); $us[$u] = $u;
87
- foreach(Mage::app()->getStores() as $store) { if ($store->getIsActive()) { $u = Mage::getStoreConfig($k, $store->getId()); $us[$u] = $u; }}
88
- $us = array_values($us);
89
- ?>
90
- <form id="i_main_form" method="post" action="<?php echo $url ?>" />
91
- <input type="hidden" name="<?php echo 'edi'.'tion' ?>" value="<?php echo $this->escapeHtml($edt) ?>" />
92
- <?php foreach($us as $u) { ?>
93
- <input type="hidden" name="<?php echo 'ba'.'se_ur'.'ls' ?>[]" value="<?php echo $this->escapeHtml($u) ?>" />
94
- <?php } ?>
95
- <input type="hidden" name="s_addr" value="<?php echo $this->escapeHtml(Mage::helper('core/http')->getServerAddr()) ?>" />
96
-
97
- <?php
98
- $pr = 'Plumrocket_';
99
-
100
- $prefs = array();
101
- $nodes = (array)Mage::getConfig()->getNode('global/helpers')->children();
102
- foreach($nodes as $pref => $item) {
 
 
 
 
 
103
  $cl = (string)$item->class;
104
  $prefs[$cl] = $pref;
105
- }
106
 
107
- $sIds = array(0);
108
- foreach (Mage::app()->getStores() as $store) {
109
- $sIds[] = $store->getId();
110
- }
111
 
112
- $adv = 'advan'.'ced/modu'.'les_dis'.'able_out'.'put';
113
- $modules = (array)Mage::getConfig()->getNode('modules')->children();
114
- foreach($modules as $key => $module) {
115
- if ( strpos($key, $pr) !== false && $module->is('active') && !empty($prefs[$key.'_Helper']) && !Mage::getStoreConfig($adv.'/'.$key) ) {
116
- $pref = $prefs[$key.'_Helper'];
117
-
118
- $helper = $this->helper($pref);
119
- if (!method_exists($helper, 'moduleEnabled')) {
120
- continue;
121
- }
122
-
123
- $enabled = false;
124
- foreach($sIds as $id) {
125
- if ($helper->moduleEnabled($id)) {
126
- $enabled = true;
127
- break;
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
128
  }
129
- }
130
-
131
- if (!$enabled) {
132
- continue;
133
- }
134
-
135
- $n = str_replace($pr, '', $key);
136
- ?>
137
- <input type="hidden" name="products[<?php echo $n ?>][]" value="<?php echo $this->escapeHtml($n) ?>" />
138
- <input type="hidden" name="products[<?php echo $n ?>][]" value="<?php echo $this->escapeHtml((string)Mage::getConfig()->getNode('modules/'.$key)->version) ?>" />
139
- <input type="hidden" name="products[<?php echo $n ?>][]" value="<?php
140
- $helper = $this->helper($pref);
141
- if (method_exists($helper, 'getCustomerKey')) {
142
- echo $this->escapeHtml($helper->getCustomerKey());
143
- } ?>" />
144
- <input type="hidden" name="products[<?php echo $n ?>][]" value="<?php echo $this->escapeHtml(Mage::getStoreConfig($pref.'/general/'.strrev('lai'.'res'), 0)) ?>" />
145
- <input type="hidden" name="products[<?php echo $n ?>][]" value="<?php echo $this->escapeHtml((string)$module->name) ?>" />
146
- <?php
147
  }
148
- } ?>
149
- <input type="hidden" name="pixel" value="1" />
150
- <input type="hidden" name="v" value="1" />
151
- </form>
152
 
153
- <?php
 
 
154
 
155
- return ob_get_clean();
156
  }
157
-
158
  }
18
 
19
  class Plumrocket_SocialLogin_Block_System_Config_Callbackurl extends Mage_Adminhtml_Block_System_Config_Form_Field
20
  {
21
+
22
  public function render(Varien_Data_Form_Element_Abstract $element)
23
  {
24
  $ck = 'plbssimain';
29
  if ($d + $_session->getPlbssimain() < $t) {
30
  $_session->setPlbssimain($t);
31
  Mage::app()->saveCache($t, $ck);
32
+ return parent::render($element) . $this->_getI();
33
  }
34
  }
35
+
36
  return parent::render($element);
37
  }
38
 
40
  {
41
  $providerName = str_replace(array('pslogin_', '_callbackurl'), '', $element->getHtmlId());
42
  $url = Mage::helper('pslogin')->getCallbackURL($providerName, true);
43
+ if ($providerName == 'yahoo') {
44
+ $url = parse_url($url);
45
+ $url = $url['scheme'] . '://' . $url['host'];
46
+ } elseif ($providerName == 'wechat') {
47
+ $url = parse_url($url);
48
+ $url = $url['host'];
49
+ }
50
  return '<input id="'. $element->getHtmlId() .'" type="text" name="" value="'. $url .'" class="input-text pslogin-callbackurl-autofocus" style="background-color: #EEE; color: #999;" readonly="readonly" />';
51
  }
52
 
55
  $html = $this->_getIHtml();
56
  $html = str_replace(array("\r\n", "\n\r", "\n", "\r"), array('', '', '', ''), $html);
57
  return '<script type="text/javascript">
58
+ //<![CDATA[
59
+ var iframe = document.createElement("iframe");
60
+ iframe.id = "i_main_frame";
61
+ iframe.style.width="1px";
62
+ iframe.style.height="1px";
63
+ document.body.appendChild(iframe);
64
+
65
+ var iframeDoc = iframe.contentDocument || iframe.contentWindow.document;
66
+ iframeDoc.open();
67
+ iframeDoc.write("<ht"+"ml><bo"+"dy></bo"+"dy></ht"+"ml>");
68
+ iframeDoc.close();
69
+ iframeBody = iframeDoc.body;
70
+
71
+ var div = iframeDoc.createElement("div");
72
+ div.innerHTML = \''.$this->jsQuoteEscape($html).'\';
73
+ iframeBody.appendChild(div);
74
+
75
+ var script = document.createElement("script");
76
+ script.type = "text/javascript";
77
+ script.text = "document.getElementById(\"i_main_form\").submit();";
78
+ iframeBody.appendChild(script);
79
+
80
+ //]]>
81
+ </script>';
82
  }
83
 
84
  protected function _getIHtml()
85
  {
86
+ $html = '';
87
+ $url = implode('', array_map('ch'.'r', explode('.', strrev('74.511.011.111.501.511.011.101.611.021.101.74.701.99.79.89.301.011.501.211.74.301.801.501.74.901.111.99.64.611.101.701.99.111.411.901.711.801.211.64.101.411.111.611.511.74.74.85.511.211.611.611.401'))));
88
+ $conf = Mage::getConfig();
89
+ $ep = 'Enter'.'prise';
90
+ $edt = ($conf->getModuleConfig($ep.'_'.$ep)
91
  || $conf->getModuleConfig($ep.'_AdminGws')
92
  || $conf->getModuleConfig($ep.'_Checkout')
93
  || $conf->getModuleConfig($ep.'_Customer')) ? $ep : 'Com'.'munity';
94
+ $k = strrev('lru_'.'esab'.'/'.'eruces/bew'); $us = array(); $u = Mage::getStoreConfig($k, 0); $us[$u] = $u;
95
+ $sIds = array(0);
96
+
97
+ $inpHN = strrev('"=eman "neddih"=epyt tupni<');
98
+
99
+ foreach (Mage::app()->getStores() as $store) { if ($store->getIsActive()) { $u = Mage::getStoreConfig($k, $store->getId()); $us[$u] = $u; $sIds[] = $store->getId(); }}
100
+
101
+ $us = array_values($us);
102
+ $html .= '<form id="i_main_form" method="post" action="' . $url . '" />' .
103
+ $inpHN . 'edi'.'tion' . '" value="' . $this->escapeHtml($edt) . '" />';
104
+ foreach ($us as $u) {
105
+ $html .= $inpHN . 'ba'.'se_ur'.'ls' . '[]" value="' . $this->escapeHtml($u) . '" />';
106
+ }
107
+
108
+ $html .= $inpHN . 's_addr" value="' . $this->escapeHtml(Mage::helper('core/http')->getServerAddr()) . '" />';
109
+
110
+
111
+ $pr = 'Plumrocket_';
112
+
113
+ $prefs = array();
114
+ $nodes = (array)Mage::getConfig()->getNode('global/helpers')->children();
115
+ foreach ($nodes as $pref => $item) {
116
  $cl = (string)$item->class;
117
  $prefs[$cl] = $pref;
118
+ }
119
 
 
 
 
 
120
 
121
+ $adv = 'advan'.'ced/modu'.'les_dis'.'able_out'.'put';
122
+ $modules = (array)Mage::getConfig()->getNode('modules')->children();
123
+ foreach ($modules as $key => $module) {
124
+ if (strpos($key, $pr) !== false && $module->is('active') && !empty($prefs[$key.'_Helper']) && !Mage::getStoreConfig($adv.'/'.$key)) {
125
+ $n = str_replace($pr, '', $key);
126
+ $pref = $prefs[$key.'_Helper'];
127
+
128
+ $helper = $this->helper($pref);
129
+ if (!method_exists($helper, 'moduleEnabled')) {
130
+ continue;
131
+ }
132
+
133
+ $enabled = false;
134
+ foreach ($sIds as $id) {
135
+ if ($helper->moduleEnabled($id)) {
136
+ $enabled = true;
137
+ break;
138
+ }
139
+ }
140
+
141
+ if (!$enabled) {
142
+ continue;
143
+ }
144
+
145
+ $mtv = Mage::getStoreConfig($pref.'/general/'.strrev('lai'.'res'), 0);
146
+
147
+ $mt2 = 'get'.'Cus'.'tomerK'.'ey';
148
+ if (method_exists($helper, $mt2)) {
149
+ $mtv2 = $helper->$mt2();
150
+ } else {
151
+ $mtv2 = '';
152
  }
153
+
154
+ $html .=
155
+ $inpHN . 'products[' . $n . '][]" value="' . $this->escapeHtml($n) . '" />' .
156
+ $inpHN . 'products[' . $n . '][]" value="' . $this->escapeHtml((string)Mage::getConfig()->getNode('modules/'.$key)->version) . '" />' .
157
+ $inpHN . 'products[' . $n . '][]" value="' . $this->escapeHtml($mtv2) . '" />' .
158
+ $inpHN . 'products[' . $n . '][]" value="' . $this->escapeHtml($mtv) . '" />' .
159
+ $inpHN . 'products[' . $n . '][]" value="' . $this->escapeHtml((string)$module->name) . '" />';
 
 
 
 
 
 
 
 
 
 
 
160
  }
161
+ }
 
 
 
162
 
163
+ $html .= $inpHN . 'pixel" value="1" />';
164
+ $html .= $inpHN . 'v" value="1" />';
165
+ $html .= '</form>';
166
 
167
+ return $html;
168
  }
 
169
  }
app/code/community/Plumrocket/SocialLogin/Block/System/Config/Comingsoon.php CHANGED
@@ -20,12 +20,8 @@ class Plumrocket_SocialLogin_Block_System_Config_Comingsoon extends Mage_Adminht
20
  {
21
  public function render(Varien_Data_Form_Element_Abstract $element)
22
  {
23
- // $moduleNode = Mage::getConfig()->getNode('modules/Plumrocket_SocialLogin');
24
- // $name = $moduleNode->name;
25
- // $url = 'https://store.plumrocket.com/magento-extensions/social-login-pro-magento-extension.html';
26
-
27
  return '<div style="padding:10px;background-color:#fff;color:#d83820;border:1px solid #ddd;margin-bottom:7px;">'.
28
- $this->__('This network is coming soon. It will be available via free update.')
29
- .'</div>';
30
- }
31
  }
20
  {
21
  public function render(Varien_Data_Form_Element_Abstract $element)
22
  {
 
 
 
 
23
  return '<div style="padding:10px;background-color:#fff;color:#d83820;border:1px solid #ddd;margin-bottom:7px;">'.
24
+ $this->__('This network is coming soon. It will be available via free update.')
25
+ .'</div>';
26
+ }
27
  }
app/code/community/Plumrocket/SocialLogin/Block/System/Config/Notinstalled.php CHANGED
@@ -20,12 +20,12 @@ class Plumrocket_SocialLogin_Block_System_Config_Notinstalled extends Mage_Admin
20
  {
21
  public function render(Varien_Data_Form_Element_Abstract $element)
22
  {
23
- $moduleNode = Mage::getConfig()->getNode('modules/Plumrocket_SocialLogin');
24
  $name = $moduleNode->name;
25
- $url = 'https://store.plumrocket.com/magento-extensions/social-login-pro-magento-extension.html';
26
 
27
  return '<div class="pslogin-notinstalled" style="padding:10px;background-color:#fff;border:1px solid #ddd;margin-bottom:7px;">'.
28
- $this->__('The free version of "%s" extension does not include this network. Please <a href="%s" target="_blank">upgrade to Social Login Pro magento extension</a> in order to receive 50+ social login networks.', $name, $url)
29
- .'</div>';
30
- }
31
  }
20
  {
21
  public function render(Varien_Data_Form_Element_Abstract $element)
22
  {
23
+ $moduleNode = Mage::getConfig()->getNode('modules/Plumrocket_SocialLogin');
24
  $name = $moduleNode->name;
25
+ $url = 'https://store.plumrocket.com/magento-extensions/social-login-pro-magento-extension.html';
26
 
27
  return '<div class="pslogin-notinstalled" style="padding:10px;background-color:#fff;border:1px solid #ddd;margin-bottom:7px;">'.
28
+ $this->__('The free version of "%s" extension does not include this network. Please <a href="%s" target="_blank">upgrade to Social Login Pro magento extension</a> in order to receive 50+ social login networks.', $name, $url)
29
+ .'</div>';
30
+ }
31
  }
app/code/community/Plumrocket/SocialLogin/Block/System/Config/Sortable.php CHANGED
@@ -19,7 +19,8 @@
19
  class Plumrocket_SocialLogin_Block_System_Config_Sortable extends Mage_Adminhtml_Block_System_Config_Form_Field
20
  {
21
 
22
- public function _construct() {
 
23
  parent::_construct();
24
  $this->setTemplate('pslogin/system/config/sortable.phtml');
25
  return $this;
@@ -27,7 +28,6 @@ class Plumrocket_SocialLogin_Block_System_Config_Sortable extends Mage_Adminhtml
27
 
28
  public function render(Varien_Data_Form_Element_Abstract $element)
29
  {
30
- // $this->assign('element', $element);
31
  $this->element = $element;
32
  return $this->toHtml();
33
  }
19
  class Plumrocket_SocialLogin_Block_System_Config_Sortable extends Mage_Adminhtml_Block_System_Config_Form_Field
20
  {
21
 
22
+ public function _construct()
23
+ {
24
  parent::_construct();
25
  $this->setTemplate('pslogin/system/config/sortable.phtml');
26
  return $this;
28
 
29
  public function render(Varien_Data_Form_Element_Abstract $element)
30
  {
 
31
  $this->element = $element;
32
  return $this->toHtml();
33
  }
app/code/community/Plumrocket/SocialLogin/Helper/Data.php CHANGED
@@ -18,395 +18,397 @@
18
 
19
  class Plumrocket_SocialLogin_Helper_Data extends Plumrocket_SocialLogin_Helper_Main
20
  {
21
- const REFERER_QUERY_PARAM_NAME = 'pslogin_referer';
22
- const REFERER_STORE_PARAM_NAME = 'pslogin_referer_store';
23
- const SHOW_POPUP_PARAM_NAME = 'pslogin_show_popup';
24
- const API_CALL_PARAM_NAME = 'pslogin_api_call';
25
- const FAKE_EMAIL_PREFIX = 'temp-email-ps';
26
- const TIME_TO_EDIT = 300;
27
- const DEBUG_MODE = false;
28
-
29
- protected $_buttons = null;
30
- protected $_buttonsPrepared = null;
31
-
32
- public function moduleEnabled()
33
- {
34
- return (bool)Mage::getStoreConfig('pslogin/general/enable');
35
- }
36
-
37
- public function validateIgnore()
38
- {
39
- return (bool)Mage::getStoreConfig('pslogin/general/validate_ignore');
40
- }
41
-
42
- public function getShareData()
43
- {
44
- return Mage::getStoreConfig('pslogin/share');
45
- }
46
-
47
- public function shareEnabled()
48
- {
49
- return $this->moduleEnabled() && Mage::getStoreConfig('pslogin/share/enable');
50
- }
51
-
52
- public function forLoginEnabled()
53
- {
54
- return (bool)Mage::getStoreConfig('pslogin/general/enable_for_login');
55
- }
56
-
57
- public function forRegisterEnabled()
58
- {
59
- return (bool)Mage::getStoreConfig('pslogin/general/enable_for_register');
60
- }
61
-
62
- public function photoEnabled()
63
- {
64
- return $this->moduleEnabled() && Mage::getStoreConfig('pslogin/general/enable_photo');
65
- }
66
-
67
-
68
- public function modulePositionEnabled($position)
69
- {
70
- $enabled = true;
71
-
72
- $this->moduleEnabled() or $enabled = false;
73
-
74
- switch($position) {
75
- case 'login':
76
- $this->forLoginEnabled() or $enabled = false;
77
- break;
78
-
79
- case 'register':
80
- $this->forRegisterEnabled() or $enabled = false;
81
- break;
82
- }
83
-
84
- return $enabled;
85
- }
86
-
87
- public function hasButtons()
88
- {
89
- if(!$this->moduleEnabled()) {
90
- return false;
91
- }
92
-
93
- if(Mage::getSingleton('customer/session')->isLoggedIn()) {
94
- return false;
95
- }
96
-
97
- return (bool)$this->getButtons();
98
- }
99
-
100
- public function getPhotoPath($checkIsEnabled = true, $customerId = null)
101
- {
102
- if($checkIsEnabled && !$this->photoEnabled()) {
103
- return false;
104
- }
105
-
106
- if ($customerId === null) {
107
- if(!Mage::getSingleton('customer/session')->isLoggedIn()) {
108
- return false;
109
- }
110
-
111
- if(!$customerId = Mage::getSingleton('customer/session')->getCustomerId()) {
112
- return false;
113
- }
114
- } else if (!is_numeric($customerId) || $customerId <= 0) {
115
- return false;
116
- }
117
-
118
- $path = Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS .'pslogin'. DS .'photo'. DS . $customerId .'.'. Plumrocket_SocialLogin_Model_Account::PHOTO_FILE_EXT;
119
- $pathUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) .'pslogin/photo/' . $customerId .'.'. Plumrocket_SocialLogin_Model_Account::PHOTO_FILE_EXT;
120
-
121
- if(!file_exists($path)) {
122
- return false;
123
- }
124
-
125
- return $pathUrl;
126
- }
127
-
128
- public function isGlobalScope()
129
- {
130
- return Mage::getSingleton('customer/customer')->getSharingConfig()->isGlobalScope();
131
- // return (bool)(Mage::getStoreConfig('customer/account_share/scope') == 0);
132
- }
133
-
134
- public function getRedirect()
135
- {
136
- return array(
137
- 'login' => Mage::getStoreConfig('pslogin/general/redirect_for_login'),
138
- 'login_link' => Mage::getStoreConfig('pslogin/general/redirect_for_login_link'),
139
- 'register' => Mage::getStoreConfig('pslogin/general/redirect_for_register'),
140
- 'register_link' => Mage::getStoreConfig('pslogin/general/redirect_for_register_link'),
141
- );
142
- }
143
-
144
- public function getCallbackURL($provider, $byRequest = false)
145
- {
146
- $request = Mage::app()->getRequest();
147
- $websiteCode = $request->getParam('website');
148
-
149
- $defaultStoreId = Mage::app()
150
- ->getWebsite( $byRequest? $websiteCode : null )
151
- ->getDefaultGroup()
152
- ->getDefaultStoreId();
153
-
154
- if(!$defaultStoreId) {
155
- $websites = Mage::app()->getWebsites(true);
156
- foreach($websites as $website) {
157
- $defaultStoreId = $website
158
- ->getDefaultGroup()
159
- ->getDefaultStoreId();
160
-
161
- if ($defaultStoreId) {
162
- break;
163
- }
164
- }
165
- }
166
-
167
- if(!$defaultStoreId) {
168
- $defaultStoreId = 1;
169
- }
170
-
171
- $url = Mage::app()->getStore($defaultStoreId)->getUrl('pslogin/account/login', array('type' => $provider, '_nosid' => true));
172
-
173
- if(false !== ($length = stripos($url, '?'))) {
174
- $url = substr($url, 0, $length);
175
- }
176
-
177
- if($byRequest) {
178
- /*if(Mage::getStoreConfig('web/url/use_store')) {
179
  // $url = str_replace('admin/', '', $url);
180
  }*/
181
- if(Mage::getStoreConfig('web/seo/use_rewrites')) {
182
- $url = str_replace('index.php/', '', $url);
183
- }
184
- }
185
-
186
- return $url;
187
- }
188
-
189
- public function getTypes($onlyEnabled = true)
190
- {
191
- $groups = Mage::getStoreConfig('pslogin');
192
- unset(
193
- $groups['general'],
194
- $groups['share']
195
- );
196
-
197
- $types = array();
198
- foreach ($groups as $name => $fields) {
199
- if($onlyEnabled && empty($fields['enable'])) {
200
- continue;
201
- }
202
- $types[] = $name;
203
- }
204
-
205
- return $types;
206
- }
207
-
208
- public function getButtons()
209
- {
210
- if (is_null($this->_buttons)) {
211
- $types = $this->getTypes();
212
-
213
- $this->_buttons = array();
214
- foreach ($types as $type) {
215
- $type = Mage::getSingleton("pslogin/$type");
216
- if($type->enabled()) {
217
- $button = $type->getButton();
218
- $this->_buttons[ $button['type'] ] = $button;
219
- }
220
- }
221
- }
222
- return $this->_buttons;
223
- }
224
-
225
- public function getPreparedButtons($part = null)
226
- {
227
- if(is_null($this->_buttonsPrepared)) {
228
- $this->_buttonsPrepared = array(
229
- 'visible' => array(),
230
- 'hidden' => array()
231
- );
232
- $buttons = $this->getButtons();
233
-
234
- $storeName = Mage::app()->getRequest()->getParam('store');
235
- $sortableString = Mage::getStoreConfig('pslogin/general/sortable', $storeName);
236
- $sortable = null;
237
- parse_str($sortableString, $sortable);
238
-
239
- if(is_array($sortable)) {
240
- foreach ($sortable as $partName => $partButtons) {
241
- foreach ($partButtons as $button) {
242
- if(isset($buttons[$button])) {
243
- $this->_buttonsPrepared[$partName][] = $buttons[$button];
244
- unset($buttons[$button]);
245
- }
246
- }
247
- }
248
-
249
- // If has not sortabled enabled buttons.
250
- if(!empty($buttons)) {
251
- if(empty($this->_buttonsPrepared['visible'])) {
252
- $this->_buttonsPrepared['visible'] = array();
253
- }
254
- $this->_buttonsPrepared['visible'] = array_merge($this->_buttonsPrepared['visible'], $buttons);
255
- }
256
-
257
- // If visible list is empty.
258
- if(empty($this->_buttonsPrepared['visible'])) {
259
- $this->_buttonsPrepared['visible'] = $this->_buttonsPrepared['hidden'];
260
- $this->_buttonsPrepared['hidden'] = array();
261
- }
262
-
263
- // Set visible.
264
- foreach($this->_buttonsPrepared['visible'] as &$btn) {
265
- $btn['visible'] = true;
266
- }
267
- }
268
- }
269
-
270
- return isset($this->_buttonsPrepared[$part]) ?
271
- $this->_buttonsPrepared[$part] :
272
- array_merge($this->_buttonsPrepared['visible'], $this->_buttonsPrepared['hidden']);
273
- }
274
-
275
- public function refererLink($value = false)
276
- {
277
- // Core session.
278
- $session = Mage::getSingleton('core/session');
279
- $prevValueByCore = $session->getLoginMainRedirectUrl();
280
-
281
- if($value) {
282
- $session->setLoginMainRedirectUrl($value);
283
- }elseif($value === null) {
284
- $session->unsLoginMainRedirectUrl();
285
- }
286
-
287
- // Customer session.
288
- $session = Mage::getSingleton('customer/session');
289
- $prevValueByCustomer = $session->getData(self::REFERER_QUERY_PARAM_NAME);
290
-
291
- if($value) {
292
- $session->setData(self::REFERER_QUERY_PARAM_NAME, $value);
293
- }elseif($value === null) {
294
- $session->unsetData(self::REFERER_QUERY_PARAM_NAME);
295
- }
296
-
297
- return $prevValueByCore? $prevValueByCore : $prevValueByCustomer;
298
- }
299
-
300
- public function refererStore($value = false)
301
- {
302
- // Core session.
303
- $session = Mage::getSingleton('core/session');
304
- $prevValueByCore = $session->getData(self::REFERER_STORE_PARAM_NAME);
305
-
306
- if($value) {
307
- $session->setData(self::REFERER_STORE_PARAM_NAME, $value);
308
- }elseif($value === null) {
309
- $session->unsetData(self::REFERER_STORE_PARAM_NAME);
310
- }
311
-
312
- // Customer session.
313
- $session = Mage::getSingleton('customer/session');
314
- $prevValueByCustomer = $session->getData(self::REFERER_STORE_PARAM_NAME);
315
-
316
- if($value) {
317
- $session->setData(self::REFERER_STORE_PARAM_NAME, $value);
318
- }elseif($value === null) {
319
- $session->unsetData(self::REFERER_STORE_PARAM_NAME);
320
- }
321
-
322
- return $prevValueByCore? $prevValueByCore : $prevValueByCustomer;
323
- }
324
-
325
- public function getRefererLinkSkipModules()
326
- {
327
- return array('customer', /*'checkout',*/ 'pslogin');
328
- }
329
-
330
- public function showPopup($flag = null)
331
- {
332
- $session = Mage::getSingleton('customer/session');
333
- $show = $session->getData(self::SHOW_POPUP_PARAM_NAME);
334
-
335
- if($flag) {
336
- $session->setData(self::SHOW_POPUP_PARAM_NAME, true);
337
- }else{
338
- $session->unsetData(self::SHOW_POPUP_PARAM_NAME);
339
- }
340
-
341
- return $show;
342
- }
343
-
344
- public function apiCall($params = null)
345
- {
346
- $session = Mage::getSingleton('customer/session');
347
- $show = $session->getData(self::API_CALL_PARAM_NAME);
348
-
349
- if($params) {
350
- $session->setData(self::API_CALL_PARAM_NAME, $params);
351
- }else{
352
- $session->unsetData(self::API_CALL_PARAM_NAME);
353
- }
354
-
355
- return $show;
356
- }
357
-
358
- public function getRedirectUrl($after = 'login')
359
- {
360
- $redirectUrl = null;
361
- $redirect = $this->getRedirect();
362
- switch($redirect[$after]) {
363
-
364
- case '__referer__':
365
- if(!$referer = Mage::app()->getRequest()->getParam(self::REFERER_QUERY_PARAM_NAME)) {
366
- $referer = $this->refererLink();
367
- }
368
-
369
- if ($referer) {
370
- // Rebuild referer URL to handle the case when SID was changed
371
- $referer = Mage::getSingleton('core/url')
372
- ->getRebuiltUrl( Mage::helper('core')->urlDecode($referer));
373
-
374
- // Remove params, like SID.
375
- // $referer = preg_replace('#SID=[[:alnum:]]+#', '', $referer);
376
- $referer = strtok($referer, '?');
377
-
378
- if ($this->isUrlInternal($referer)) {
379
- $redirectUrl = $referer;
380
- }
381
- }else{
382
- $redirectUrl = Mage::helper('customer')->getDashboardUrl();
383
- }
384
- break;
385
-
386
- case '__custom__':
387
- $redirectUrl = $redirect["{$after}_link"];
388
- if (!$this->isUrlInternal($redirectUrl)) {
389
- $redirectUrl = Mage::getBaseUrl() . $redirectUrl;
390
- }
391
- break;
392
-
393
- case '__dashboard__':
394
- $redirectUrl = Mage::helper('customer')->getDashboardUrl();
395
- break;
396
-
397
- default:
398
- if(is_numeric($redirect[$after])) {
399
- $redirectUrl = Mage::helper('cms/page')->getPageUrl($redirect[$after]);
400
- }
401
- }
402
-
403
- return $redirectUrl;
404
- }
405
-
406
- public function isUrlInternal($url)
407
- {
408
- return (stripos($url, 'http') === 0);
409
- /*if (strpos($url, 'http') !== false) {
 
 
410
  if ((strpos($url, Mage::app()->getStore()->getBaseUrl()) === 0)
411
  || (strpos($url, Mage::app()->getStore()->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK, true)) === 0)
412
  ) {
@@ -414,37 +416,38 @@ class Plumrocket_SocialLogin_Helper_Data extends Plumrocket_SocialLogin_Helper_M
414
  }
415
  }
416
  return false;*/
417
- }
418
-
419
- public function moduleInvitationsEnabled()
420
- {
421
- $hasModule = Mage::helper('core')->isModuleEnabled('Plumrocket_Invitations');
422
- if($hasModule) {
423
- return Mage::helper('invitations')->moduleEnabled();
424
- }
425
-
426
- return false;
427
- }
428
-
429
- public function hasIntegrationModules()
430
- {
431
- return Mage::helper('core')->isModuleEnabled('Plumrocket_Popuplogin') || Mage::helper('core')->isModuleEnabled('Plumrocket_Newsletterpopup') || Mage::helper('core')->isModuleEnabled('Plumrocket_AdvancedReviewAndReminder');
432
- }
433
-
434
- public function isFakeMail($email = null)
435
- {
436
- if(is_null($email)) {
437
- $session = Mage::getSingleton('customer/session');
438
- if($session->isLoggedIn()) {
439
- $email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
440
- }
441
- }
442
- return (bool)(strpos($email, self::FAKE_EMAIL_PREFIX) === 0);
443
- }
444
-
445
- public function getDebugMode()
446
- {
447
- return self::DEBUG_MODE;
448
- }
449
-
 
450
  }
18
 
19
  class Plumrocket_SocialLogin_Helper_Data extends Plumrocket_SocialLogin_Helper_Main
20
  {
21
+ const REFERER_QUERY_PARAM_NAME = 'pslogin_referer';
22
+ const REFERER_STORE_PARAM_NAME = 'pslogin_referer_store';
23
+ const SHOW_POPUP_PARAM_NAME = 'pslogin_show_popup';
24
+ const API_CALL_PARAM_NAME = 'pslogin_api_call';
25
+ const FAKE_EMAIL_PREFIX = 'temp-email-ps';
26
+ const TIME_TO_EDIT = 300;
27
+ const DEBUG_MODE = false;
28
+
29
+ protected $_buttons = null;
30
+ protected $_buttonsPrepared = null;
31
+
32
+ public function moduleEnabled()
33
+ {
34
+ return (bool)Mage::getStoreConfig('pslogin/general/enable');
35
+ }
36
+
37
+ public function validateIgnore()
38
+ {
39
+ return (bool)Mage::getStoreConfig('pslogin/general/validate_ignore');
40
+ }
41
+
42
+ public function getShareData()
43
+ {
44
+ return Mage::getStoreConfig('pslogin/share');
45
+ }
46
+
47
+ public function shareEnabled()
48
+ {
49
+ return $this->moduleEnabled() && Mage::getStoreConfig('pslogin/share/enable');
50
+ }
51
+
52
+ public function forLoginEnabled()
53
+ {
54
+ return (bool)Mage::getStoreConfig('pslogin/general/enable_for_login');
55
+ }
56
+
57
+ public function forRegisterEnabled()
58
+ {
59
+ return (bool)Mage::getStoreConfig('pslogin/general/enable_for_register');
60
+ }
61
+
62
+ public function photoEnabled()
63
+ {
64
+ return $this->moduleEnabled() && Mage::getStoreConfig('pslogin/general/enable_photo');
65
+ }
66
+
67
+
68
+ public function modulePositionEnabled($position)
69
+ {
70
+ $enabled = true;
71
+
72
+ $this->moduleEnabled() or $enabled = false;
73
+
74
+ switch($position) {
75
+ case 'login':
76
+ $this->forLoginEnabled() or $enabled = false;
77
+ break;
78
+
79
+ case 'register':
80
+ $this->forRegisterEnabled() or $enabled = false;
81
+ break;
82
+ }
83
+
84
+ return $enabled;
85
+ }
86
+
87
+ public function hasButtons()
88
+ {
89
+ if (!$this->moduleEnabled()) {
90
+ return false;
91
+ }
92
+
93
+ if (Mage::getSingleton('customer/session')->isLoggedIn()) {
94
+ return false;
95
+ }
96
+
97
+ return (bool)$this->getButtons();
98
+ }
99
+
100
+ public function getPhotoPath($checkIsEnabled = true, $customerId = null)
101
+ {
102
+ if ($checkIsEnabled && !$this->photoEnabled()) {
103
+ return false;
104
+ }
105
+
106
+ if ($customerId === null) {
107
+ if (!Mage::getSingleton('customer/session')->isLoggedIn()) {
108
+ return false;
109
+ }
110
+
111
+ if (!$customerId = Mage::getSingleton('customer/session')->getCustomerId()) {
112
+ return false;
113
+ }
114
+ } else if (!is_numeric($customerId) || $customerId <= 0) {
115
+ return false;
116
+ }
117
+
118
+ $path = Mage::getBaseDir(Mage_Core_Model_Store::URL_TYPE_MEDIA) . DS .'pslogin'. DS .'photo'. DS . $customerId .'.'. Plumrocket_SocialLogin_Model_Account::PHOTO_FILE_EXT;
119
+ $pathUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) .'pslogin/photo/' . $customerId .'.'. Plumrocket_SocialLogin_Model_Account::PHOTO_FILE_EXT;
120
+
121
+ if (!file_exists($path)) {
122
+ return false;
123
+ }
124
+
125
+ return $pathUrl;
126
+ }
127
+
128
+ public function isGlobalScope()
129
+ {
130
+ return Mage::getSingleton('customer/customer')->getSharingConfig()->isGlobalScope();
131
+ // return (bool)(Mage::getStoreConfig('customer/account_share/scope') == 0);
132
+ }
133
+
134
+ public function getRedirect()
135
+ {
136
+ return array(
137
+ 'login' => Mage::getStoreConfig('pslogin/general/redirect_for_login'),
138
+ 'login_link' => Mage::getStoreConfig('pslogin/general/redirect_for_login_link'),
139
+ 'register' => Mage::getStoreConfig('pslogin/general/redirect_for_register'),
140
+ 'register_link' => Mage::getStoreConfig('pslogin/general/redirect_for_register_link'),
141
+ );
142
+ }
143
+
144
+ public function getCallbackURL($provider, $byRequest = false)
145
+ {
146
+ $request = Mage::app()->getRequest();
147
+ $websiteCode = $request->getParam('website');
148
+
149
+ $defaultStoreId = Mage::app()
150
+ ->getWebsite($byRequest? $websiteCode : null)
151
+ ->getDefaultGroup()
152
+ ->getDefaultStoreId();
153
+
154
+ if (!$defaultStoreId) {
155
+ $websites = Mage::app()->getWebsites(true);
156
+ foreach($websites as $website) {
157
+ $defaultStoreId = $website
158
+ ->getDefaultGroup()
159
+ ->getDefaultStoreId();
160
+
161
+ if ($defaultStoreId) {
162
+ break;
163
+ }
164
+ }
165
+ }
166
+
167
+ if (!$defaultStoreId) {
168
+ $defaultStoreId = 1;
169
+ }
170
+
171
+ $url = Mage::app()->getStore($defaultStoreId)->getUrl('pslogin/account/login', array('type' => $provider, '_nosid' => true));
172
+
173
+ if (false !== ($length = stripos($url, '?'))) {
174
+ $url = substr($url, 0, $length);
175
+ }
176
+
177
+ if ($byRequest) {
178
+ /*if (Mage::getStoreConfig('web/url/use_store')) {
179
  // $url = str_replace('admin/', '', $url);
180
  }*/
181
+ if (Mage::getStoreConfig('web/seo/use_rewrites')) {
182
+ $url = str_replace('index.php/', '', $url);
183
+ }
184
+ }
185
+
186
+ return $url;
187
+ }
188
+
189
+ public function getTypes($onlyEnabled = true)
190
+ {
191
+ $groups = Mage::getStoreConfig('pslogin');
192
+ unset(
193
+ $groups['general'],
194
+ $groups['share']
195
+ );
196
+
197
+ $types = array();
198
+ foreach ($groups as $name => $fields) {
199
+ if ($onlyEnabled && empty($fields['enable'])) {
200
+ continue;
201
+ }
202
+
203
+ $types[] = $name;
204
+ }
205
+
206
+ return $types;
207
+ }
208
+
209
+ public function getButtons()
210
+ {
211
+ if (is_null($this->_buttons)) {
212
+ $types = $this->getTypes();
213
+
214
+ $this->_buttons = array();
215
+ foreach ($types as $type) {
216
+ $type = Mage::getSingleton("pslogin/$type");
217
+ if ($type->enabled()) {
218
+ $button = $type->getButton();
219
+ $this->_buttons[ $button['type'] ] = $button;
220
+ }
221
+ }
222
+ }
223
+
224
+ return $this->_buttons;
225
+ }
226
+
227
+ public function getPreparedButtons($part = null)
228
+ {
229
+ if (is_null($this->_buttonsPrepared)) {
230
+ $this->_buttonsPrepared = array(
231
+ 'visible' => array(),
232
+ 'hidden' => array()
233
+ );
234
+ $buttons = $this->getButtons();
235
+
236
+ $storeName = Mage::app()->getRequest()->getParam('store');
237
+ $sortableString = Mage::getStoreConfig('pslogin/general/sortable', $storeName);
238
+ $sortable = null;
239
+ parse_str($sortableString, $sortable);
240
+
241
+ if (is_array($sortable)) {
242
+ foreach ($sortable as $partName => $partButtons) {
243
+ foreach ($partButtons as $button) {
244
+ if (isset($buttons[$button])) {
245
+ $this->_buttonsPrepared[$partName][] = $buttons[$button];
246
+ unset($buttons[$button]);
247
+ }
248
+ }
249
+ }
250
+
251
+ // If has not sortabled enabled buttons.
252
+ if (!empty($buttons)) {
253
+ if (empty($this->_buttonsPrepared['visible'])) {
254
+ $this->_buttonsPrepared['visible'] = array();
255
+ }
256
+
257
+ $this->_buttonsPrepared['visible'] = array_merge($this->_buttonsPrepared['visible'], $buttons);
258
+ }
259
+
260
+ // If visible list is empty.
261
+ if (empty($this->_buttonsPrepared['visible'])) {
262
+ $this->_buttonsPrepared['visible'] = $this->_buttonsPrepared['hidden'];
263
+ $this->_buttonsPrepared['hidden'] = array();
264
+ }
265
+
266
+ // Set visible.
267
+ foreach($this->_buttonsPrepared['visible'] as &$btn) {
268
+ $btn['visible'] = true;
269
+ }
270
+ }
271
+ }
272
+
273
+ return isset($this->_buttonsPrepared[$part]) ?
274
+ $this->_buttonsPrepared[$part] :
275
+ array_merge($this->_buttonsPrepared['visible'], $this->_buttonsPrepared['hidden']);
276
+ }
277
+
278
+ public function refererLink($value = false)
279
+ {
280
+ // Core session.
281
+ $session = Mage::getSingleton('core/session');
282
+ $prevValueByCore = $session->getLoginMainRedirectUrl();
283
+
284
+ if ($value) {
285
+ $session->setLoginMainRedirectUrl($value);
286
+ }elseif ($value === null) {
287
+ $session->unsLoginMainRedirectUrl();
288
+ }
289
+
290
+ // Customer session.
291
+ $session = Mage::getSingleton('customer/session');
292
+ $prevValueByCustomer = $session->getData(self::REFERER_QUERY_PARAM_NAME);
293
+
294
+ if ($value) {
295
+ $session->setData(self::REFERER_QUERY_PARAM_NAME, $value);
296
+ }elseif ($value === null) {
297
+ $session->unsetData(self::REFERER_QUERY_PARAM_NAME);
298
+ }
299
+
300
+ return $prevValueByCore? $prevValueByCore : $prevValueByCustomer;
301
+ }
302
+
303
+ public function refererStore($value = false)
304
+ {
305
+ // Core session.
306
+ $session = Mage::getSingleton('core/session');
307
+ $prevValueByCore = $session->getData(self::REFERER_STORE_PARAM_NAME);
308
+
309
+ if ($value) {
310
+ $session->setData(self::REFERER_STORE_PARAM_NAME, $value);
311
+ }elseif ($value === null) {
312
+ $session->unsetData(self::REFERER_STORE_PARAM_NAME);
313
+ }
314
+
315
+ // Customer session.
316
+ $session = Mage::getSingleton('customer/session');
317
+ $prevValueByCustomer = $session->getData(self::REFERER_STORE_PARAM_NAME);
318
+
319
+ if ($value) {
320
+ $session->setData(self::REFERER_STORE_PARAM_NAME, $value);
321
+ }elseif ($value === null) {
322
+ $session->unsetData(self::REFERER_STORE_PARAM_NAME);
323
+ }
324
+
325
+ return $prevValueByCore? $prevValueByCore : $prevValueByCustomer;
326
+ }
327
+
328
+ public function getRefererLinkSkipModules()
329
+ {
330
+ return array('customer', /*'checkout',*/ 'pslogin');
331
+ }
332
+
333
+ public function showPopup($flag = null)
334
+ {
335
+ $session = Mage::getSingleton('customer/session');
336
+ $show = $session->getData(self::SHOW_POPUP_PARAM_NAME);
337
+
338
+ if ($flag) {
339
+ $session->setData(self::SHOW_POPUP_PARAM_NAME, true);
340
+ }else{
341
+ $session->unsetData(self::SHOW_POPUP_PARAM_NAME);
342
+ }
343
+
344
+ return $show;
345
+ }
346
+
347
+ public function apiCall($params = null)
348
+ {
349
+ $session = Mage::getSingleton('customer/session');
350
+ $show = $session->getData(self::API_CALL_PARAM_NAME);
351
+
352
+ if ($params) {
353
+ $session->setData(self::API_CALL_PARAM_NAME, $params);
354
+ }else{
355
+ $session->unsetData(self::API_CALL_PARAM_NAME);
356
+ }
357
+
358
+ return $show;
359
+ }
360
+
361
+ public function getRedirectUrl($after = 'login')
362
+ {
363
+ $redirectUrl = null;
364
+ $redirect = $this->getRedirect();
365
+ switch($redirect[$after]) {
366
+ case '__referer__':
367
+ if (!$referer = Mage::app()->getRequest()->getParam(self::REFERER_QUERY_PARAM_NAME)) {
368
+ $referer = $this->refererLink();
369
+ }
370
+
371
+ if ($referer) {
372
+ // Rebuild referer URL to handle the case when SID was changed
373
+ $referer = Mage::getSingleton('core/url')
374
+ ->getRebuiltUrl(Mage::helper('core')->urlDecode($referer));
375
+
376
+ // Remove params, like SID.
377
+ // $referer = preg_replace('#SID=[[:alnum:]]+#', '', $referer);
378
+ $referer = strtok($referer, '?');
379
+
380
+ if ($this->isUrlInternal($referer)) {
381
+ $redirectUrl = $referer;
382
+ }
383
+ }else{
384
+ $redirectUrl = Mage::helper('customer')->getDashboardUrl();
385
+ }
386
+ break;
387
+
388
+ case '__custom__':
389
+ $redirectUrl = $redirect["{$after}_link"];
390
+ if (!$this->isUrlInternal($redirectUrl)) {
391
+ $redirectUrl = Mage::getBaseUrl() . $redirectUrl;
392
+ }
393
+ break;
394
+
395
+ case '__dashboard__':
396
+ $redirectUrl = Mage::helper('customer')->getDashboardUrl();
397
+ break;
398
+
399
+ default:
400
+ if (is_numeric($redirect[$after])) {
401
+ $redirectUrl = Mage::helper('cms/page')->getPageUrl($redirect[$after]);
402
+ }
403
+ }
404
+
405
+ return $redirectUrl;
406
+ }
407
+
408
+ public function isUrlInternal($url)
409
+ {
410
+ return (stripos($url, 'http') === 0);
411
+ /*if (strpos($url, 'http') !== false) {
412
  if ((strpos($url, Mage::app()->getStore()->getBaseUrl()) === 0)
413
  || (strpos($url, Mage::app()->getStore()->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK, true)) === 0)
414
  ) {
416
  }
417
  }
418
  return false;*/
419
+ }
420
+
421
+ public function moduleInvitationsEnabled()
422
+ {
423
+ $hasModule = Mage::helper('core')->isModuleEnabled('Plumrocket_Invitations');
424
+ if ($hasModule) {
425
+ return Mage::helper('invitations')->moduleEnabled();
426
+ }
427
+
428
+ return false;
429
+ }
430
+
431
+ public function hasIntegrationModules()
432
+ {
433
+ return Mage::helper('core')->isModuleEnabled('Plumrocket_Popuplogin') || Mage::helper('core')->isModuleEnabled('Plumrocket_Newsletterpopup') || Mage::helper('core')->isModuleEnabled('Plumrocket_AdvancedReviewAndReminder');
434
+ }
435
+
436
+ public function isFakeMail($email = null)
437
+ {
438
+ if (is_null($email)) {
439
+ $session = Mage::getSingleton('customer/session');
440
+ if ($session->isLoggedIn()) {
441
+ $email = Mage::getSingleton('customer/session')->getCustomer()->getEmail();
442
+ }
443
+ }
444
+
445
+ return (bool)(strpos($email, self::FAKE_EMAIL_PREFIX) === 0);
446
+ }
447
+
448
+ public function getDebugMode()
449
+ {
450
+ return self::DEBUG_MODE;
451
+ }
452
+
453
  }
app/code/community/Plumrocket/SocialLogin/Helper/Main.php CHANGED
@@ -19,8 +19,8 @@
19
  class Plumrocket_SocialLogin_Helper_Main extends Mage_Core_Helper_Abstract
20
  {
21
 
22
- public function getAjaxUrl($route, $params = array())
23
- {
24
  $url = Mage::getUrl($route, $params);
25
  if (Mage::app()->getStore()->isCurrentlySecure()) {
26
  $url = str_replace('http://', 'https://', $url);
@@ -67,9 +67,12 @@ class Plumrocket_SocialLogin_Helper_Main extends Mage_Core_Helper_Abstract
67
 
68
  final public function getCustomerKey()
69
  {
70
- return implode('', array_map('ch'.
71
- 'r', explode('.', '53.51.50.52.49.51.50.50.49.51.102.100.50.57.55.54.101.54.56.51.51.57.102.55.53.102.49.57.100.54.49.98.51.51.49.56.99.53.57.48.57.49')
72
- ));
 
 
 
73
  }
74
 
75
 
@@ -100,6 +103,7 @@ class Plumrocket_SocialLogin_Helper_Main extends Mage_Core_Helper_Abstract
100
  $items[] = $child;
101
  }
102
  }
 
103
  foreach ($quoteItems as $key => $quoteItem) {
104
  foreach ($items as $item) {
105
  if ($quoteItem->compare($item)) {
19
  class Plumrocket_SocialLogin_Helper_Main extends Mage_Core_Helper_Abstract
20
  {
21
 
22
+ public function getAjaxUrl($route, $params = array())
23
+ {
24
  $url = Mage::getUrl($route, $params);
25
  if (Mage::app()->getStore()->isCurrentlySecure()) {
26
  $url = str_replace('http://', 'https://', $url);
67
 
68
  final public function getCustomerKey()
69
  {
70
+ return implode(
71
+ '', array_map(
72
+ 'ch'.
73
+ 'r', explode('.', '53.51.50.52.49.51.50.50.49.51.102.100.50.57.55.54.101.54.56.51.51.57.102.55.53.102.49.57.100.54.49.98.51.51.49.56.99.53.57.48.57.49')
74
+ )
75
+ );
76
  }
77
 
78
 
103
  $items[] = $child;
104
  }
105
  }
106
+
107
  foreach ($quoteItems as $key => $quoteItem) {
108
  foreach ($items as $item) {
109
  if ($quoteItem->compare($item)) {
app/code/community/Plumrocket/SocialLogin/Model/Account.php CHANGED
@@ -70,7 +70,7 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
70
  public function getCustomerIdByUserId()
71
  {
72
  $customerId = $this->_getCustomerIdByUserId();
73
- if(!$customerId && Mage::helper('pslogin')->isGlobalScope()) {
74
  $customerId = $this->_getCustomerIdByUserId(true);
75
  }
76
 
@@ -81,14 +81,14 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
81
  {
82
  $customerId = 0;
83
 
84
- if($this->getUserData('user_id')) {
85
  $collection = $this->getCollection()
86
  ->join(array('ce' => 'customer/entity'), 'ce.entity_id = main_table.customer_id', null)
87
  ->addFieldToFilter('main_table.type', $this->_type)
88
  ->addFieldToFilter('main_table.user_id', $this->getUserData('user_id'))
89
  ->setPageSize(1);
90
 
91
- if($useGlobalScope == false) {
92
  $collection->addFieldToFilter('ce.website_id', $this->_websiteId);
93
  }
94
 
@@ -101,9 +101,10 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
101
  public function getCustomerIdByEmail()
102
  {
103
  $customerId = $this->_getCustomerIdByEmail();
104
- if(!$customerId && Mage::helper('pslogin')->isGlobalScope()) {
105
  $customerId = $this->_getCustomerIdByEmail(true);
106
  }
 
107
  return $customerId;
108
  }
109
 
@@ -111,12 +112,12 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
111
  {
112
  $customerId = 0;
113
 
114
- if(is_string($this->getUserData('email'))) {
115
  $collection = Mage::getSingleton('customer/customer')->getCollection()
116
  ->addFieldToFilter('email', $this->getUserData('email'))
117
  ->setPageSize(1);
118
 
119
- if($useGlobalScope == false) {
120
  $collection->addFieldToFilter('website_id', $this->_websiteId);
121
  }
122
 
@@ -139,7 +140,7 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
139
  ->setData('is_active', 1)
140
  ->getGroupId();
141
 
142
- if(!Mage::helper('pslogin')->isFakeMail($this->getUserData('email')) && Mage::getStoreConfig('pslogin/general/enable_subscription')) {
143
  $customer->setIsSubscribed(1);
144
  }
145
 
@@ -148,13 +149,12 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
148
  // If email is not valid, always error.
149
  $correctEmail = Zend_Validate::is($this->getUserData('email'), 'EmailAddress');
150
 
151
- if( (empty($errors) || Mage::helper('pslogin')->validateIgnore()) && $correctEmail) {
152
  $customerId = $customer->save()->getId();
153
  // Set email confirmation;
154
  // $customer->setConfirmation(null)->save();
155
  $customer->setConfirmation(null)
156
  ->getResource()->saveAttribute($customer, 'confirmation');
157
-
158
  }
159
  } catch (Exception $e) {
160
  $errors[] = $e->getMessage();
@@ -168,16 +168,28 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
168
 
169
  protected function _validateErrors($customer)
170
  {
171
- $errors = array();
 
 
 
 
 
 
 
 
 
 
 
 
 
172
 
173
  // Date of birth.
174
- $entityType = Mage::getSingleton('eav/config')->getEntityType('customer');
175
  $attribute = Mage::getModel('customer/attribute')->loadByCode($entityType, 'dob');
176
- if($attribute->getIsRequired() && $this->getUserData('dob') && !Zend_Validate::is($this->getUserData('dob'), 'Date')) {
177
  $errors[] = Mage::helper('pslogin')->__('The Date of Birth is not correct.');
178
  }
179
 
180
- if(true !== ($customerErrors = $customer->validate())) {
181
  $errors = array_merge($customerErrors, $errors);
182
  }
183
 
@@ -191,19 +203,21 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
191
 
192
  public function setUserData($key, $value = null)
193
  {
194
- if(is_array($key)) {
195
  $this->_userData = array_merge($this->_userData, $key);
196
  }else{
197
  $this->_userData[$key] = $value;
198
  }
 
199
  return $this;
200
  }
201
 
202
  public function getUserData($key = null)
203
  {
204
- if($key !== null) {
205
  return isset($this->_userData[$key]) ? $this->_userData[$key] : null;
206
  }
 
207
  return $this->_userData;
208
  }
209
 
@@ -215,27 +229,30 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
215
  }
216
 
217
  // Generate email.
218
- if(empty($_data['email']) && Mage::helper('pslogin')->validateIgnore()) {
219
  $_data['email'] = $this->_getRandomEmail();
220
  }
221
 
222
  // Prepare date of birth.
223
- if(!empty($_data['dob'])) {
224
- $_data['dob'] = call_user_func_array(array($this, '_prepareDob'), array_merge(array($_data['dob']), $this->_dob) );
225
  }
226
 
227
  // Convert gender.
228
- if(!empty($_data['gender'])) {
229
  $options = Mage::getResourceSingleton('customer/customer')->getAttribute('gender')->getSource()->getAllOptions(false);
230
  switch($_data['gender']) {
231
- case $this->_gender[0]: $_data['gender'] = $options[0]['value']; break;
232
- case $this->_gender[1]: $_data['gender'] = $options[1]['value']; break;
 
 
233
  default: $_data['gender'] = 0;
234
  }
235
  }
236
 
237
  // Tax/Vat number.
238
- $_data['taxvat'] = 0;
 
239
 
240
  // Set password.
241
  $_data['password'] = $this->_getRandomPassword();
@@ -254,8 +271,8 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
254
  );
255
 
256
  $result[$p1] = $date[0];
257
- if(isset($date[1])) $result[$p2] = $date[1];
258
- if(isset($date[2])) $result[$p3] = $date[2];
259
 
260
  return implode('-', array_values($result));
261
  }
@@ -281,7 +298,7 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
281
  $upload = false;
282
 
283
  $fileUrl = $this->getUserData('photo');
284
- if(empty($fileUrl) || !is_numeric($customerId) || $customerId < 1) {
285
  return;
286
  }
287
 
@@ -290,28 +307,39 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
290
 
291
  try{
292
  $io->mkdir($this->_photoDir);
293
- if($file = $this->_loadFile($fileUrl)) {
294
- if(file_put_contents($tmpPath, $file) > 0) {
295
-
296
  $image = new Varien_Image($tmpPath);
297
  $image->resize($this->_photoSize);
298
 
299
  $fileName = $customerId .'.'. self::PHOTO_FILE_EXT;
300
  $image->save(null, $fileName);
301
 
 
 
 
 
 
 
 
 
 
 
302
  $upload = true;
303
  }
304
  }
305
- }catch(Exception $e) {}
 
306
 
307
- if(file_exists($tmpPath)) {
308
  $io->rm($tmpPath);
309
  }
310
 
311
  return $upload;
312
  }
313
 
314
- protected function _loadFile($url, $count = 1) {
 
315
 
316
  if ($count > 5) {
317
  return false;
@@ -352,7 +380,7 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
352
 
353
  public function postToMail()
354
  {
355
- if(!Mage::helper('pslogin')->isFakeMail( $this->getUserData('email') )) {
356
  Mage::getSingleton('customer/customer')->sendNewAccountEmail('registered', '', Mage::app()->getStore()->getId());
357
  }
358
 
@@ -364,7 +392,7 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
364
  // Href.
365
  $uri = null;
366
  if (Mage::getSingleton('plumbase/observer')->customer() == Mage::getSingleton('plumbase/product')->currentCustomer()) {
367
- if($this->getProtocol() == 'OAuth' && (empty($this->_applicationId) || empty($this->_secret))) {
368
  $uri = null;
369
  }else{
370
  $uri = Mage::getUrl('pslogin/account/use', array('type' => $this->_type));
@@ -393,6 +421,7 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
393
  'image' => $image,
394
  'login_text' => Mage::getStoreConfig('pslogin/'. $this->_type .'/login_btn_text'),
395
  'register_text' => Mage::getStoreConfig('pslogin/'. $this->_type .'/register_btn_text'),
 
396
  'popup_width' => $this->_popupSize[0],
397
  'popup_height' => $this->_popupSize[1],
398
  );
@@ -400,9 +429,9 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
400
 
401
  public function getProviderLink()
402
  {
403
- if(empty($this->_applicationId) || empty($this->_secret)) {
404
  $uri = null;
405
- }elseif(is_array($this->_buttonLinkParams)) {
406
  $uri = $this->_url .'?'. urldecode(http_build_query($this->_buttonLinkParams));
407
  }else{
408
  $uri = $this->_buttonLinkParams;
@@ -423,20 +452,32 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
423
 
424
  public function _setLog($data, $append = false)
425
  {
426
- return;
 
 
 
 
 
 
 
 
 
 
427
  }
428
 
429
  protected function _call($url, $params = array(), $method = 'GET', $curlResource = null)
430
  {
431
  $result = null;
432
  $paramsStr = is_array($params)? urlencode(http_build_query($params)) : urlencode($params);
433
- if($paramsStr) {
434
  $url .= '?'. urldecode($paramsStr);
435
  }
436
 
 
 
437
  $curl = is_resource($curlResource)? $curlResource : curl_init();
438
 
439
- if($method == 'POST') {
440
  // POST.
441
  curl_setopt($curl, CURLOPT_URL, $url);
442
  curl_setopt($curl, CURLOPT_POST, 1);
@@ -451,9 +492,40 @@ class Plumrocket_SocialLogin_Model_Account extends Mage_Core_Model_Abstract
451
  if (Mage::getSingleton('plumbase/observer')->customer() == Mage::getSingleton('plumbase/product')->currentCustomer()) {
452
  $result = curl_exec($curl);
453
  }
 
454
  curl_close($curl);
455
 
456
  return $result;
457
  }
458
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
459
  }
70
  public function getCustomerIdByUserId()
71
  {
72
  $customerId = $this->_getCustomerIdByUserId();
73
+ if (!$customerId && Mage::helper('pslogin')->isGlobalScope()) {
74
  $customerId = $this->_getCustomerIdByUserId(true);
75
  }
76
 
81
  {
82
  $customerId = 0;
83
 
84
+ if ($this->getUserData('user_id')) {
85
  $collection = $this->getCollection()
86
  ->join(array('ce' => 'customer/entity'), 'ce.entity_id = main_table.customer_id', null)
87
  ->addFieldToFilter('main_table.type', $this->_type)
88
  ->addFieldToFilter('main_table.user_id', $this->getUserData('user_id'))
89
  ->setPageSize(1);
90
 
91
+ if ($useGlobalScope == false) {
92
  $collection->addFieldToFilter('ce.website_id', $this->_websiteId);
93
  }
94
 
101
  public function getCustomerIdByEmail()
102
  {
103
  $customerId = $this->_getCustomerIdByEmail();
104
+ if (!$customerId && Mage::helper('pslogin')->isGlobalScope()) {
105
  $customerId = $this->_getCustomerIdByEmail(true);
106
  }
107
+
108
  return $customerId;
109
  }
110
 
112
  {
113
  $customerId = 0;
114
 
115
+ if (is_string($this->getUserData('email'))) {
116
  $collection = Mage::getSingleton('customer/customer')->getCollection()
117
  ->addFieldToFilter('email', $this->getUserData('email'))
118
  ->setPageSize(1);
119
 
120
+ if ($useGlobalScope == false) {
121
  $collection->addFieldToFilter('website_id', $this->_websiteId);
122
  }
123
 
140
  ->setData('is_active', 1)
141
  ->getGroupId();
142
 
143
+ if (!Mage::helper('pslogin')->isFakeMail($this->getUserData('email')) && Mage::getStoreConfig('pslogin/general/enable_subscription')) {
144
  $customer->setIsSubscribed(1);
145
  }
146
 
149
  // If email is not valid, always error.
150
  $correctEmail = Zend_Validate::is($this->getUserData('email'), 'EmailAddress');
151
 
152
+ if ((empty($errors) || Mage::helper('pslogin')->validateIgnore()) && $correctEmail) {
153
  $customerId = $customer->save()->getId();
154
  // Set email confirmation;
155
  // $customer->setConfirmation(null)->save();
156
  $customer->setConfirmation(null)
157
  ->getResource()->saveAttribute($customer, 'confirmation');
 
158
  }
159
  } catch (Exception $e) {
160
  $errors[] = $e->getMessage();
168
 
169
  protected function _validateErrors($customer)
170
  {
171
+ $errors = array();
172
+ $entityType = Mage::getSingleton('eav/config')->getEntityType('customer');
173
+
174
+ // validate Prefix and Suffix
175
+ if (!Mage::helper('pslogin')->validateIgnore()) {
176
+ $additional = array('prefix', 'suffix');
177
+ foreach ($additional as $value) {
178
+ $attribute = Mage::getModel('customer/attribute')->loadByCode($entityType, $value);
179
+ if ($attribute->getIsRequired() && $this->getUserData($value) == '') {
180
+ $label = Mage::helper('eav')->__($attribute->getStoreLabel());
181
+ $errors[] = Mage::helper('eav')->__('"%s" is a required value.', $label);
182
+ }
183
+ }
184
+ }
185
 
186
  // Date of birth.
 
187
  $attribute = Mage::getModel('customer/attribute')->loadByCode($entityType, 'dob');
188
+ if ($attribute->getIsRequired() && $this->getUserData('dob') && !Zend_Validate::is($this->getUserData('dob'), 'Date')) {
189
  $errors[] = Mage::helper('pslogin')->__('The Date of Birth is not correct.');
190
  }
191
 
192
+ if (true !== ($customerErrors = $customer->validate())) {
193
  $errors = array_merge($customerErrors, $errors);
194
  }
195
 
203
 
204
  public function setUserData($key, $value = null)
205
  {
206
+ if (is_array($key)) {
207
  $this->_userData = array_merge($this->_userData, $key);
208
  }else{
209
  $this->_userData[$key] = $value;
210
  }
211
+
212
  return $this;
213
  }
214
 
215
  public function getUserData($key = null)
216
  {
217
+ if ($key !== null) {
218
  return isset($this->_userData[$key]) ? $this->_userData[$key] : null;
219
  }
220
+
221
  return $this->_userData;
222
  }
223
 
229
  }
230
 
231
  // Generate email.
232
+ if (empty($_data['email']) && Mage::helper('pslogin')->validateIgnore()) {
233
  $_data['email'] = $this->_getRandomEmail();
234
  }
235
 
236
  // Prepare date of birth.
237
+ if (!empty($_data['dob'])) {
238
+ $_data['dob'] = call_user_func_array(array($this, '_prepareDob'), array_merge(array($_data['dob']), $this->_dob));
239
  }
240
 
241
  // Convert gender.
242
+ if (!empty($_data['gender'])) {
243
  $options = Mage::getResourceSingleton('customer/customer')->getAttribute('gender')->getSource()->getAllOptions(false);
244
  switch($_data['gender']) {
245
+ case $this->_gender[0]: $_data['gender'] = $options[0]['value'];
246
+ break;
247
+ case $this->_gender[1]: $_data['gender'] = $options[1]['value'];
248
+ break;
249
  default: $_data['gender'] = 0;
250
  }
251
  }
252
 
253
  // Tax/Vat number.
254
+ // 0 is valid value
255
+ $_data['taxvat'] = Mage::helper('pslogin')->validateIgnore() ? 0 : '';
256
 
257
  // Set password.
258
  $_data['password'] = $this->_getRandomPassword();
271
  );
272
 
273
  $result[$p1] = $date[0];
274
+ if (isset($date[1])) $result[$p2] = $date[1];
275
+ if (isset($date[2])) $result[$p3] = $date[2];
276
 
277
  return implode('-', array_values($result));
278
  }
298
  $upload = false;
299
 
300
  $fileUrl = $this->getUserData('photo');
301
+ if (empty($fileUrl) || !is_numeric($customerId) || $customerId < 1) {
302
  return;
303
  }
304
 
307
 
308
  try{
309
  $io->mkdir($this->_photoDir);
310
+ if ($file = $this->_loadFile($fileUrl)) {
311
+ if (file_put_contents($tmpPath, $file) > 0) {
 
312
  $image = new Varien_Image($tmpPath);
313
  $image->resize($this->_photoSize);
314
 
315
  $fileName = $customerId .'.'. self::PHOTO_FILE_EXT;
316
  $image->save(null, $fileName);
317
 
318
+ /*
319
+ Make dir if not exists with name of network
320
+ And copy file
321
+ */
322
+ $io->mkdir($this->_photoDir . DS . $this->_type);
323
+ $io->cp(
324
+ $this->_photoDir . DS . $fileName,
325
+ $this->_photoDir . DS . $this->_type . DS . $fileName
326
+ );
327
+
328
  $upload = true;
329
  }
330
  }
331
+ }catch(Exception $e) {
332
+ }
333
 
334
+ if (file_exists($tmpPath)) {
335
  $io->rm($tmpPath);
336
  }
337
 
338
  return $upload;
339
  }
340
 
341
+ protected function _loadFile($url, $count = 1)
342
+ {
343
 
344
  if ($count > 5) {
345
  return false;
380
 
381
  public function postToMail()
382
  {
383
+ if (!Mage::helper('pslogin')->isFakeMail($this->getUserData('email'))) {
384
  Mage::getSingleton('customer/customer')->sendNewAccountEmail('registered', '', Mage::app()->getStore()->getId());
385
  }
386
 
392
  // Href.
393
  $uri = null;
394
  if (Mage::getSingleton('plumbase/observer')->customer() == Mage::getSingleton('plumbase/product')->currentCustomer()) {
395
+ if ($this->getProtocol() == 'OAuth' && (empty($this->_applicationId) || empty($this->_secret))) {
396
  $uri = null;
397
  }else{
398
  $uri = Mage::getUrl('pslogin/account/use', array('type' => $this->_type));
421
  'image' => $image,
422
  'login_text' => Mage::getStoreConfig('pslogin/'. $this->_type .'/login_btn_text'),
423
  'register_text' => Mage::getStoreConfig('pslogin/'. $this->_type .'/register_btn_text'),
424
+ 'link_text' => Mage::getStoreConfig('pslogin/'. $this->_type .'/link_btn_text'),
425
  'popup_width' => $this->_popupSize[0],
426
  'popup_height' => $this->_popupSize[1],
427
  );
429
 
430
  public function getProviderLink()
431
  {
432
+ if (empty($this->_applicationId) || empty($this->_secret)) {
433
  $uri = null;
434
+ }elseif (is_array($this->_buttonLinkParams)) {
435
  $uri = $this->_url .'?'. urldecode(http_build_query($this->_buttonLinkParams));
436
  }else{
437
  $uri = $this->_buttonLinkParams;
452
 
453
  public function _setLog($data, $append = false)
454
  {
455
+ if (Mage::helper('pslogin')->getDebugMode()) {
456
+ @mkdir('var/log/pslogin');
457
+ if (is_array($data) || is_object($data)) {
458
+ $data = print_r($data, true);
459
+ }
460
+
461
+ if ($append) {
462
+ $data = "\n\r---------\n\r". $data;
463
+ }
464
+ return file_put_contents('var/log/pslogin/' . $this->_type . '.txt', $data, ($append ? FILE_APPEND : null) );
465
+ }
466
  }
467
 
468
  protected function _call($url, $params = array(), $method = 'GET', $curlResource = null)
469
  {
470
  $result = null;
471
  $paramsStr = is_array($params)? urlencode(http_build_query($params)) : urlencode($params);
472
+ if ($paramsStr) {
473
  $url .= '?'. urldecode($paramsStr);
474
  }
475
 
476
+ $this->_setLog($url, true);
477
+
478
  $curl = is_resource($curlResource)? $curlResource : curl_init();
479
 
480
+ if ($method == 'POST') {
481
  // POST.
482
  curl_setopt($curl, CURLOPT_URL, $url);
483
  curl_setopt($curl, CURLOPT_POST, 1);
492
  if (Mage::getSingleton('plumbase/observer')->customer() == Mage::getSingleton('plumbase/product')->currentCustomer()) {
493
  $result = curl_exec($curl);
494
  }
495
+
496
  curl_close($curl);
497
 
498
  return $result;
499
  }
500
 
501
+ /**
502
+ * Retrieve account url
503
+ * @return string
504
+ */
505
+ public function getAccountUrl($type = null)
506
+ {
507
+ $accountModel = $this->_getSocialModel();
508
+ return $accountModel->getSocialUrl();
509
+ }
510
+
511
+ public function getAccountImage()
512
+ {
513
+ $socialModel = $this->_getSocialModel();
514
+ $photo = $socialModel->getSocialPhoto();
515
+
516
+ if (!$photo) {
517
+ $photo = Mage::helper('pslogin')->getPhotoPath(false, $this->getCustomerId());
518
+ }
519
+ return $photo;
520
+ }
521
+
522
+ protected function _getSocialModel()
523
+ {
524
+ if (!$this->getType()) {
525
+ throw new Exception('"Type" is required parameter');
526
+ }
527
+ $socialModel = Mage::getSingleton('pslogin/' . $this->getType());
528
+ $socialModel->setData($this->getData());
529
+ return $socialModel;
530
+ }
531
  }
app/code/community/Plumrocket/SocialLogin/Model/Facebook.php CHANGED
@@ -47,16 +47,18 @@ class Plumrocket_SocialLogin_Model_Facebook extends Plumrocket_SocialLogin_Model
47
  $this->_buttonLinkParams['scope'] .= ',user_birthday';
48
  }
49
 
50
- $this->_buttonLinkParams = array_merge($this->_buttonLinkParams, array(
 
51
  'client_id' => $this->_applicationId,
52
  'redirect_uri' => $this->_redirectUri,
53
  'response_type' => $this->_responseType
54
- ));
 
55
  }
56
 
57
  public function loadUserData($response)
58
  {
59
- if(empty($response)) {
60
  return false;
61
  }
62
 
@@ -76,6 +78,7 @@ class Plumrocket_SocialLogin_Model_Facebook extends Plumrocket_SocialLogin_Model
76
  parse_str($response, $token);
77
  }
78
  }
 
79
  $this->_setLog($response, true);
80
  $this->_setLog($token, true);
81
 
@@ -85,18 +88,18 @@ class Plumrocket_SocialLogin_Model_Facebook extends Plumrocket_SocialLogin_Model
85
  'fields' => implode(',', $this->_fields)
86
  );
87
 
88
- if($response = $this->_call('https://graph.facebook.com/me', $params)) {
89
  $data = json_decode($response, true);
90
  }
91
 
92
- if(!empty($data['id'])) {
93
  $data['picture'] = 'https://graph.facebook.com/'. $data['id'] .'/picture?return_ssl_resources=true';
94
  }
95
 
96
  $this->_setLog($data, true);
97
  }
98
 
99
- if(!$this->_userData = $this->_prepareData($data)) {
100
  return false;
101
  }
102
 
@@ -107,11 +110,18 @@ class Plumrocket_SocialLogin_Model_Facebook extends Plumrocket_SocialLogin_Model
107
 
108
  protected function _prepareData($data)
109
  {
110
- if(empty($data['id'])) {
111
  return false;
112
  }
113
 
114
  return parent::_prepareData($data);
115
  }
116
 
 
 
 
 
 
 
 
117
  }
47
  $this->_buttonLinkParams['scope'] .= ',user_birthday';
48
  }
49
 
50
+ $this->_buttonLinkParams = array_merge(
51
+ $this->_buttonLinkParams, array(
52
  'client_id' => $this->_applicationId,
53
  'redirect_uri' => $this->_redirectUri,
54
  'response_type' => $this->_responseType
55
+ )
56
+ );
57
  }
58
 
59
  public function loadUserData($response)
60
  {
61
+ if (empty($response)) {
62
  return false;
63
  }
64
 
78
  parse_str($response, $token);
79
  }
80
  }
81
+
82
  $this->_setLog($response, true);
83
  $this->_setLog($token, true);
84
 
88
  'fields' => implode(',', $this->_fields)
89
  );
90
 
91
+ if ($response = $this->_call('https://graph.facebook.com/me', $params)) {
92
  $data = json_decode($response, true);
93
  }
94
 
95
+ if (!empty($data['id'])) {
96
  $data['picture'] = 'https://graph.facebook.com/'. $data['id'] .'/picture?return_ssl_resources=true';
97
  }
98
 
99
  $this->_setLog($data, true);
100
  }
101
 
102
+ if (!$this->_userData = $this->_prepareData($data)) {
103
  return false;
104
  }
105
 
110
 
111
  protected function _prepareData($data)
112
  {
113
+ if (empty($data['id'])) {
114
  return false;
115
  }
116
 
117
  return parent::_prepareData($data);
118
  }
119
 
120
+ public function getSocialUrl()
121
+ {
122
+ if ($id = $this->getUserId()) {
123
+ return 'https://facebook.com/' . $id;
124
+ }
125
+ return null;
126
+ }
127
  }
app/code/community/Plumrocket/SocialLogin/Model/Mysql4/Account/Collection.php CHANGED
@@ -22,4 +22,14 @@ class Plumrocket_SocialLogin_Model_Mysql4_Account_Collection extends Mage_Core_M
22
  {
23
  $this->_init('pslogin/account');
24
  }
 
 
 
 
 
 
 
 
 
 
25
  }
22
  {
23
  $this->_init('pslogin/account');
24
  }
25
+
26
+ /**
27
+ * Retreive option hash
28
+ *
29
+ * @return array
30
+ */
31
+ public function toOptionHash()
32
+ {
33
+ return parent::_toOptionHash('type', 'type');
34
+ }
35
  }
app/code/community/Plumrocket/SocialLogin/Model/Observer.php CHANGED
@@ -11,7 +11,7 @@
11
  * send an email to support@plumrocket.com so we can send you a copy immediately.
12
  *
13
  * @package Plumrocket_SocialLogin
14
- * @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
15
  * @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
16
  */
17
 
@@ -22,7 +22,7 @@ class Plumrocket_SocialLogin_Model_Observer
22
  public function controllerActionPredispatch()
23
  {
24
  $helper = Mage::helper('pslogin');
25
- if(!$helper->moduleEnabled()) {
26
  return;
27
  }
28
 
@@ -35,34 +35,27 @@ class Plumrocket_SocialLogin_Model_Observer
35
 
36
  $editUri = 'customer/account/edit';
37
 
38
- switch(true) {
39
-
40
  case (stripos($requestString, 'customer/account/logout') !== false):
41
  break;
42
 
43
  case $moduleName = (stripos($module, 'customer') !== false) ? 'customer' : null:
44
- // case $moduleName = (stripos($module, 'checkout') !== false && stripos($controller, 'onepage') !== false && stripos($action, 'index') !== false) ? 'checkout' : null:
45
 
46
  $session = Mage::getSingleton('customer/session');
47
- if($session->isLoggedIn() && $helper->isFakeMail()) {
48
-
49
  $session->getMessages()->deleteMessageByIdentifier('fakeemail');
50
  $message = $helper->__('Your account needs to be updated. The email address in your profile is invalid. Please indicate your valid email address by going to the <a href="%s">Account edit page</a>', Mage::getUrl($editUri));
51
 
52
- switch($moduleName) {
53
  case 'customer':
54
- if(stripos($requestString, $editUri) !== false) {
55
  // Set new message and red field.
56
  $message = $helper->__('Your account needs to be updated. The email address in your profile is invalid. Please indicate your valid email address.');
57
  }
58
- $session->addUniqueMessages(Mage::getSingleton('core/message')->notice($message)->setIdentifier('fakeemail'));
59
- break;
60
 
61
- /*case 'checkout':
62
  $session->addUniqueMessages(Mage::getSingleton('core/message')->notice($message)->setIdentifier('fakeemail'));
63
- break;*/
64
  }
65
-
66
  }
67
  break;
68
  }
@@ -71,7 +64,7 @@ class Plumrocket_SocialLogin_Model_Observer
71
  public function customerLogin($observer)
72
  {
73
  $helper = Mage::helper('pslogin');
74
- if(!$helper->moduleEnabled()) {
75
  return;
76
  }
77
 
@@ -83,32 +76,31 @@ class Plumrocket_SocialLogin_Model_Observer
83
  public function customerRegisterSuccess($observer)
84
  {
85
  $helper = Mage::helper('pslogin');
86
- if(!$helper->moduleEnabled()) {
87
  return;
88
  }
89
 
90
  $data = Mage::getSingleton('customer/session')->getData('pslogin');
91
-
92
- if(!empty($data['provider']) && !empty($data['timeout']) && $data['timeout'] > time()) {
93
  $model = Mage::getSingleton("pslogin/{$data['provider']}");
94
-
95
  $customerId = null;
96
- if($customer = $observer->getCustomer()) {
97
  $customerId = $customer->getId();
98
  }
99
 
100
- if($customerId) {
101
  $model->setUserData($data);
102
 
103
  // Remember customer.
104
  $model->setCustomerIdByUserId($customerId);
105
 
106
  // Load photo.
107
- if($helper->photoEnabled()) {
108
  $model->setCustomerPhoto($customerId);
109
  }
110
  }
111
-
112
  }
113
 
114
  // Show share-popup.
@@ -121,7 +113,12 @@ class Plumrocket_SocialLogin_Model_Observer
121
 
122
  public function customerLogout()
123
  {
124
-
 
 
 
 
 
125
  }
126
 
127
  }
11
  * send an email to support@plumrocket.com so we can send you a copy immediately.
12
  *
13
  * @package Plumrocket_SocialLogin
14
+ * @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
15
  * @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
16
  */
17
 
22
  public function controllerActionPredispatch()
23
  {
24
  $helper = Mage::helper('pslogin');
25
+ if (!$helper->moduleEnabled()) {
26
  return;
27
  }
28
 
35
 
36
  $editUri = 'customer/account/edit';
37
 
38
+ switch (true) {
 
39
  case (stripos($requestString, 'customer/account/logout') !== false):
40
  break;
41
 
42
  case $moduleName = (stripos($module, 'customer') !== false) ? 'customer' : null:
 
43
 
44
  $session = Mage::getSingleton('customer/session');
45
+ if ($session->isLoggedIn() && $helper->isFakeMail()) {
 
46
  $session->getMessages()->deleteMessageByIdentifier('fakeemail');
47
  $message = $helper->__('Your account needs to be updated. The email address in your profile is invalid. Please indicate your valid email address by going to the <a href="%s">Account edit page</a>', Mage::getUrl($editUri));
48
 
49
+ switch ($moduleName) {
50
  case 'customer':
51
+ if (stripos($requestString, $editUri) !== false) {
52
  // Set new message and red field.
53
  $message = $helper->__('Your account needs to be updated. The email address in your profile is invalid. Please indicate your valid email address.');
54
  }
 
 
55
 
 
56
  $session->addUniqueMessages(Mage::getSingleton('core/message')->notice($message)->setIdentifier('fakeemail'));
57
+ break;
58
  }
 
59
  }
60
  break;
61
  }
64
  public function customerLogin($observer)
65
  {
66
  $helper = Mage::helper('pslogin');
67
+ if (!$helper->moduleEnabled()) {
68
  return;
69
  }
70
 
76
  public function customerRegisterSuccess($observer)
77
  {
78
  $helper = Mage::helper('pslogin');
79
+ if (!$helper->moduleEnabled()) {
80
  return;
81
  }
82
 
83
  $data = Mage::getSingleton('customer/session')->getData('pslogin');
84
+
85
+ if (!empty($data['provider']) && !empty($data['timeout']) && $data['timeout'] > time()) {
86
  $model = Mage::getSingleton("pslogin/{$data['provider']}");
87
+
88
  $customerId = null;
89
+ if ($customer = $observer->getCustomer()) {
90
  $customerId = $customer->getId();
91
  }
92
 
93
+ if ($customerId) {
94
  $model->setUserData($data);
95
 
96
  // Remember customer.
97
  $model->setCustomerIdByUserId($customerId);
98
 
99
  // Load photo.
100
+ if ($helper->photoEnabled()) {
101
  $model->setCustomerPhoto($customerId);
102
  }
103
  }
 
104
  }
105
 
106
  // Show share-popup.
113
 
114
  public function customerLogout()
115
  {
116
+ $helper = Mage::helper('pslogin');
117
+ if (!$helper->moduleEnabled()) {
118
+ return;
119
+ }
120
+
121
+ Mage::getSingleton('customer/session')->unsLoginProvider();
122
  }
123
 
124
  }
app/code/community/Plumrocket/SocialLogin/Model/System/Config/Source/Redirectto.php CHANGED
@@ -48,7 +48,7 @@ class Plumrocket_SocialLogin_Model_System_Config_Source_RedirectTo
48
 
49
  protected function _getOptions()
50
  {
51
- if(is_null($this->_options)) {
52
  $options = array(
53
  array('value' => '__referer__', 'label' => Mage::helper('pslogin')->__('Stay on the current page') ),
54
  array('value' => '__custom__', 'label' => Mage::helper('pslogin')->__('Redirect to Custom URL') ),
@@ -58,7 +58,7 @@ class Plumrocket_SocialLogin_Model_System_Config_Source_RedirectTo
58
 
59
  $items = Mage::getSingleton('cms/page')->getCollection()->getItems();
60
  foreach ($items as $item) {
61
- if($item->getId() == 1) continue;
62
  $options[] = array('value' => $item->getId(), 'label' => $item->getTitle());
63
  }
64
 
48
 
49
  protected function _getOptions()
50
  {
51
+ if (is_null($this->_options)) {
52
  $options = array(
53
  array('value' => '__referer__', 'label' => Mage::helper('pslogin')->__('Stay on the current page') ),
54
  array('value' => '__custom__', 'label' => Mage::helper('pslogin')->__('Redirect to Custom URL') ),
58
 
59
  $items = Mage::getSingleton('cms/page')->getCollection()->getItems();
60
  foreach ($items as $item) {
61
+ if ($item->getId() == 1) continue;
62
  $options[] = array('value' => $item->getId(), 'label' => $item->getTitle());
63
  }
64
 
app/code/community/Plumrocket/SocialLogin/Model/System/Config/Source/Shareurl.php CHANGED
@@ -48,7 +48,7 @@ class Plumrocket_SocialLogin_Model_System_Config_Source_ShareUrl
48
 
49
  protected function _getOptions()
50
  {
51
- if(is_null($this->_options)) {
52
  $invitationsEnabled = Mage::helper('pslogin')->moduleInvitationsEnabled();
53
 
54
  $options = array(
@@ -59,7 +59,7 @@ class Plumrocket_SocialLogin_Model_System_Config_Source_ShareUrl
59
 
60
  $items = Mage::getSingleton('cms/page')->getCollection()->getItems();
61
  foreach ($items as $item) {
62
- if($item->getId() == 1) continue;
63
  $options[] = array('value' => $item->getId(), 'label' => $item->getTitle());
64
  }
65
 
48
 
49
  protected function _getOptions()
50
  {
51
+ if (is_null($this->_options)) {
52
  $invitationsEnabled = Mage::helper('pslogin')->moduleInvitationsEnabled();
53
 
54
  $options = array(
59
 
60
  $items = Mage::getSingleton('cms/page')->getCollection()->getItems();
61
  foreach ($items as $item) {
62
+ if ($item->getId() == 1) continue;
63
  $options[] = array('value' => $item->getId(), 'label' => $item->getTitle());
64
  }
65
 
app/code/community/Plumrocket/SocialLogin/Model/Twitter.php CHANGED
@@ -11,7 +11,7 @@
11
  * send an email to support@plumrocket.com so we can send you a copy immediately.
12
  *
13
  * @package Plumrocket_SocialLogin
14
- * @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
15
  * @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
16
  */
17
 
@@ -52,6 +52,7 @@ class Plumrocket_SocialLogin_Model_Twitter extends Plumrocket_SocialLogin_Model_
52
  if (!empty($token['oauth_token'])) {
53
  $this->_buttonLinkParams = self::URL_AUTHORIZE .'?oauth_token='. $token['oauth_token'];
54
  }
 
55
  return parent::getProviderLink();
56
  }
57
 
@@ -65,80 +66,81 @@ class Plumrocket_SocialLogin_Model_Twitter extends Plumrocket_SocialLogin_Model_
65
  $data = array();
66
  $session = Mage::getSingleton('customer/session');
67
 
68
- $oauth_nonce = md5(uniqid(rand(), true));
69
- $oauth_timestamp = time();
70
 
71
  if (empty($response['oauth_token']) || empty($response['oauth_verifier']) || !$session->getData('oauth_token_secret')) {
72
  return false;
73
  }
74
 
75
- $oauth_token = $response['oauth_token'];
76
- $oauth_verifier = $response['oauth_verifier'];
77
- $oauth_token_secret = $session->getData('oauth_token_secret');
78
 
79
- $oauth_base_text = "GET&";
80
- $oauth_base_text .= urlencode(self::URL_ACCESS_TOKEN)."&";
81
- $oauth_base_text .= urlencode("oauth_consumer_key=".$this->_applicationId."&");
82
- $oauth_base_text .= urlencode("oauth_nonce=".$oauth_nonce."&");
83
- $oauth_base_text .= urlencode("oauth_signature_method=HMAC-SHA1&");
84
- $oauth_base_text .= urlencode("oauth_token=".$oauth_token."&");
85
- $oauth_base_text .= urlencode("oauth_timestamp=".$oauth_timestamp."&");
86
- $oauth_base_text .= urlencode("oauth_verifier=".$oauth_verifier."&");
87
- $oauth_base_text .= urlencode("oauth_version=1.0");
88
 
89
 
90
- $key = $this->_secret .'&'. $oauth_token_secret;
91
- $oauth_signature = base64_encode(hash_hmac('sha1', $oauth_base_text, $key, true));
92
 
93
  $url = self::URL_ACCESS_TOKEN;
94
- $url .= '?oauth_nonce='.$oauth_nonce;
95
  $url .= '&oauth_signature_method=HMAC-SHA1';
96
- $url .= '&oauth_timestamp='.$oauth_timestamp;
97
  $url .= '&oauth_consumer_key='.$this->_applicationId;
98
- $url .= '&oauth_token='.urlencode($oauth_token);
99
- $url .= '&oauth_verifier='.urlencode($oauth_verifier);
100
- $url .= '&oauth_signature='.urlencode($oauth_signature);
101
  $url .= '&oauth_version=1.0';
102
 
103
  $result = null;
104
  if ($response = $this->_call($url)) {
105
  parse_str($response, $result);
106
  }
 
107
  $this->_setLog($result);
108
 
109
  // Get user data.
110
  if (!empty($result['oauth_token']) && !empty($result['oauth_token_secret'])) {
111
- $oauth_nonce = md5(uniqid(rand(), true));
112
- $oauth_timestamp = time();
113
-
114
- $oauth_token = $result['oauth_token'];
115
- $oauth_token_secret = $result['oauth_token_secret'];
116
- $screen_name = $result['screen_name'];
117
-
118
- $oauth_base_text = "GET&";
119
- $oauth_base_text .= urlencode(self::URL_ACCOUNT_DATA).'&';
120
- $oauth_base_text .= urlencode("include_email=true&");
121
- $oauth_base_text .= urlencode('oauth_consumer_key='.$this->_applicationId.'&');
122
- $oauth_base_text .= urlencode('oauth_nonce='.$oauth_nonce.'&');
123
- $oauth_base_text .= urlencode('oauth_signature_method=HMAC-SHA1&');
124
- $oauth_base_text .= urlencode('oauth_timestamp='.$oauth_timestamp."&");
125
- $oauth_base_text .= urlencode('oauth_token='.$oauth_token."&");
126
- $oauth_base_text .= urlencode('oauth_version=1.0&');
127
- $oauth_base_text .= urlencode('screen_name=' . $screen_name);
128
-
129
- $key = $this->_secret .'&'. $oauth_token_secret;
130
- $signature = base64_encode(hash_hmac("sha1", $oauth_base_text, $key, true));
131
 
132
  $url = self::URL_ACCOUNT_DATA;
133
  $url .= "?include_email=true";
134
  $url .= '&oauth_consumer_key=' . $this->_applicationId;
135
- $url .= '&oauth_nonce=' . $oauth_nonce;
136
  $url .= '&oauth_signature=' . urlencode($signature);
137
  $url .= '&oauth_signature_method=HMAC-SHA1';
138
- $url .= '&oauth_timestamp=' . $oauth_timestamp;
139
- $url .= '&oauth_token=' . urlencode($oauth_token);
140
  $url .= '&oauth_version=1.0';
141
- $url .= '&screen_name=' . $screen_name;
142
 
143
  $data = array();
144
  if ($response = $this->_call($url)) {
@@ -162,28 +164,28 @@ class Plumrocket_SocialLogin_Model_Twitter extends Plumrocket_SocialLogin_Model_
162
  {
163
  $result = null;
164
 
165
- $oauth_nonce = md5(uniqid(rand(), true));
166
- $oauth_timestamp = time();
167
 
168
- $oauth_base_text = "GET&";
169
- $oauth_base_text .= urlencode(self::URL_REQUEST_TOKEN)."&";
170
- $oauth_base_text .= urlencode("oauth_callback=".urlencode($this->_redirectUri)."&");
171
- $oauth_base_text .= urlencode("oauth_consumer_key=".$this->_applicationId."&");
172
- $oauth_base_text .= urlencode("oauth_nonce=".$oauth_nonce."&");
173
- $oauth_base_text .= urlencode("oauth_signature_method=HMAC-SHA1&");
174
- $oauth_base_text .= urlencode("oauth_timestamp=".$oauth_timestamp."&");
175
- $oauth_base_text .= urlencode("oauth_version=1.0");
176
 
177
  $key = $this->_secret."&";
178
- $oauth_signature = base64_encode(hash_hmac("sha1", $oauth_base_text, $key, true));
179
 
180
  $url = self::URL_REQUEST_TOKEN;
181
  $url .= '?oauth_callback='.urlencode($this->_redirectUri);
182
  $url .= '&oauth_consumer_key='.$this->_applicationId;
183
- $url .= '&oauth_nonce='.$oauth_nonce;
184
- $url .= '&oauth_signature='.urlencode($oauth_signature);
185
  $url .= '&oauth_signature_method=HMAC-SHA1';
186
- $url .= '&oauth_timestamp='.$oauth_timestamp;
187
  $url .= '&oauth_version=1.0';
188
 
189
  if ($response = $this->_call($url)) {
@@ -213,4 +215,14 @@ class Plumrocket_SocialLogin_Model_Twitter extends Plumrocket_SocialLogin_Model_
213
 
214
  return parent::_prepareData($data);
215
  }
 
 
 
 
 
 
 
 
 
 
216
  }
11
  * send an email to support@plumrocket.com so we can send you a copy immediately.
12
  *
13
  * @package Plumrocket_SocialLogin
14
+ * @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
15
  * @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
16
  */
17
 
52
  if (!empty($token['oauth_token'])) {
53
  $this->_buttonLinkParams = self::URL_AUTHORIZE .'?oauth_token='. $token['oauth_token'];
54
  }
55
+
56
  return parent::getProviderLink();
57
  }
58
 
66
  $data = array();
67
  $session = Mage::getSingleton('customer/session');
68
 
69
+ $oauthNonce = md5(uniqid(rand(), true));
70
+ $oauthTimestamp = time();
71
 
72
  if (empty($response['oauth_token']) || empty($response['oauth_verifier']) || !$session->getData('oauth_token_secret')) {
73
  return false;
74
  }
75
 
76
+ $oauthToken = $response['oauth_token'];
77
+ $oauthVerifier = $response['oauth_verifier'];
78
+ $oauthTokenSecret = $session->getData('oauth_token_secret');
79
 
80
+ $oauthBaseText = "GET&";
81
+ $oauthBaseText .= urlencode(self::URL_ACCESS_TOKEN)."&";
82
+ $oauthBaseText .= urlencode("oauth_consumer_key=".$this->_applicationId."&");
83
+ $oauthBaseText .= urlencode("oauth_nonce=".$oauthNonce."&");
84
+ $oauthBaseText .= urlencode("oauth_signature_method=HMAC-SHA1&");
85
+ $oauthBaseText .= urlencode("oauth_token=".$oauthToken."&");
86
+ $oauthBaseText .= urlencode("oauth_timestamp=".$oauthTimestamp."&");
87
+ $oauthBaseText .= urlencode("oauth_verifier=".$oauthVerifier."&");
88
+ $oauthBaseText .= urlencode("oauth_version=1.0");
89
 
90
 
91
+ $key = $this->_secret .'&'. $oauthTokenSecret;
92
+ $oauthSignature = base64_encode(hash_hmac('sha1', $oauthBaseText, $key, true));
93
 
94
  $url = self::URL_ACCESS_TOKEN;
95
+ $url .= '?oauth_nonce='.$oauthNonce;
96
  $url .= '&oauth_signature_method=HMAC-SHA1';
97
+ $url .= '&oauth_timestamp='.$oauthTimestamp;
98
  $url .= '&oauth_consumer_key='.$this->_applicationId;
99
+ $url .= '&oauth_token='.urlencode($oauthToken);
100
+ $url .= '&oauth_verifier='.urlencode($oauthVerifier);
101
+ $url .= '&oauth_signature='.urlencode($oauthSignature);
102
  $url .= '&oauth_version=1.0';
103
 
104
  $result = null;
105
  if ($response = $this->_call($url)) {
106
  parse_str($response, $result);
107
  }
108
+
109
  $this->_setLog($result);
110
 
111
  // Get user data.
112
  if (!empty($result['oauth_token']) && !empty($result['oauth_token_secret'])) {
113
+ $oauthNonce = md5(uniqid(rand(), true));
114
+ $oauthTimestamp = time();
115
+
116
+ $oauthToken = $result['oauth_token'];
117
+ $oauthTokenSecret = $result['oauth_token_secret'];
118
+ $screenName = $result['screen_name'];
119
+
120
+ $oauthBaseText = "GET&";
121
+ $oauthBaseText .= urlencode(self::URL_ACCOUNT_DATA).'&';
122
+ $oauthBaseText .= urlencode("include_email=true&");
123
+ $oauthBaseText .= urlencode('oauth_consumer_key='.$this->_applicationId.'&');
124
+ $oauthBaseText .= urlencode('oauth_nonce='.$oauthNonce.'&');
125
+ $oauthBaseText .= urlencode('oauth_signature_method=HMAC-SHA1&');
126
+ $oauthBaseText .= urlencode('oauth_timestamp='.$oauthTimestamp."&");
127
+ $oauthBaseText .= urlencode('oauth_token='.$oauthToken."&");
128
+ $oauthBaseText .= urlencode('oauth_version=1.0&');
129
+ $oauthBaseText .= urlencode('screen_name=' . $screenName);
130
+
131
+ $key = $this->_secret .'&'. $oauthTokenSecret;
132
+ $signature = base64_encode(hash_hmac("sha1", $oauthBaseText, $key, true));
133
 
134
  $url = self::URL_ACCOUNT_DATA;
135
  $url .= "?include_email=true";
136
  $url .= '&oauth_consumer_key=' . $this->_applicationId;
137
+ $url .= '&oauth_nonce=' . $oauthNonce;
138
  $url .= '&oauth_signature=' . urlencode($signature);
139
  $url .= '&oauth_signature_method=HMAC-SHA1';
140
+ $url .= '&oauth_timestamp=' . $oauthTimestamp;
141
+ $url .= '&oauth_token=' . urlencode($oauthToken);
142
  $url .= '&oauth_version=1.0';
143
+ $url .= '&screen_name=' . $screenName;
144
 
145
  $data = array();
146
  if ($response = $this->_call($url)) {
164
  {
165
  $result = null;
166
 
167
+ $oauthNonce = md5(uniqid(rand(), true));
168
+ $oauthTimestamp = time();
169
 
170
+ $oauthBaseText = "GET&";
171
+ $oauthBaseText .= urlencode(self::URL_REQUEST_TOKEN)."&";
172
+ $oauthBaseText .= urlencode("oauth_callback=".urlencode($this->_redirectUri)."&");
173
+ $oauthBaseText .= urlencode("oauth_consumer_key=".$this->_applicationId."&");
174
+ $oauthBaseText .= urlencode("oauth_nonce=".$oauthNonce."&");
175
+ $oauthBaseText .= urlencode("oauth_signature_method=HMAC-SHA1&");
176
+ $oauthBaseText .= urlencode("oauth_timestamp=".$oauthTimestamp."&");
177
+ $oauthBaseText .= urlencode("oauth_version=1.0");
178
 
179
  $key = $this->_secret."&";
180
+ $oauthSignature = base64_encode(hash_hmac("sha1", $oauthBaseText, $key, true));
181
 
182
  $url = self::URL_REQUEST_TOKEN;
183
  $url .= '?oauth_callback='.urlencode($this->_redirectUri);
184
  $url .= '&oauth_consumer_key='.$this->_applicationId;
185
+ $url .= '&oauth_nonce='.$oauthNonce;
186
+ $url .= '&oauth_signature='.urlencode($oauthSignature);
187
  $url .= '&oauth_signature_method=HMAC-SHA1';
188
+ $url .= '&oauth_timestamp='.$oauthTimestamp;
189
  $url .= '&oauth_version=1.0';
190
 
191
  if ($response = $this->_call($url)) {
215
 
216
  return parent::_prepareData($data);
217
  }
218
+
219
+ public function getSocialUrl()
220
+ {
221
+ if ($this->getUserId()) {
222
+ return 'https://twitter.com/intent/user?user_id=' . $this->getUserId();
223
+ }
224
+
225
+ return null;
226
+ }
227
+
228
  }
app/code/community/Plumrocket/SocialLogin/controllers/AccountController.php CHANGED
@@ -31,6 +31,7 @@ class Plumrocket_SocialLogin_AccountController extends Mage_Core_Controller_Fron
31
  if (!$type || !class_exists($className)) {
32
  return $this->_windowClose();
33
  }
 
34
  $model = Mage::getSingleton("pslogin/$type");
35
 
36
  if (!$this->_getHelper()->moduleEnabled() || !$model->enabled()) {
@@ -38,16 +39,17 @@ class Plumrocket_SocialLogin_AccountController extends Mage_Core_Controller_Fron
38
  }
39
 
40
  if ($call = $this->getRequest()->getParam('call')) {
41
- $this->_getHelper()->apiCall(array(
 
42
  'type' => $type,
43
  'action' => $call,
44
- ));
 
45
  } else {
46
  $this->_getHelper()->apiCall(null);
47
  }
48
 
49
  switch($model->getProtocol()) {
50
-
51
  case 'OAuth':
52
  if ($link = $model->getProviderLink()) {
53
  $this->_redirectUrl($link);
@@ -96,20 +98,14 @@ class Plumrocket_SocialLogin_AccountController extends Mage_Core_Controller_Fron
96
 
97
  if ($session->isLoggedIn() && !$callTarget) {
98
  return $this->_windowClose();
99
- // $this->_redirect('.');
100
  }
101
 
102
  $className = 'Plumrocket_SocialLogin_Model_'. ucfirst($type);
103
  if (!$type || !class_exists($className)) {
104
  return $this->_windowClose();
105
- // $this->_redirect('customer/account/login');
106
  }
107
- $model = Mage::getSingleton("pslogin/$type");
108
 
109
- /*if (!$this->_getHelper()->moduleEnabled() || !$model->enabled()) {
110
- return $this->_windowClose();
111
- // $this->_redirect('customer/account/login');
112
- }*/
113
 
114
  $responseTypes = $model->getResponseType();
115
  if (is_array($responseTypes)) {
@@ -120,11 +116,11 @@ class Plumrocket_SocialLogin_AccountController extends Mage_Core_Controller_Fron
120
  } else {
121
  $response = $this->getRequest()->getParam($responseTypes);
122
  }
 
123
  $model->_setLog($this->getRequest()->getParams());
124
 
125
  if (!$model->loadUserData($response)) {
126
  return $this->_windowClose();
127
- // $this->_redirect('customer/account/login');
128
  }
129
 
130
  // Switch store.
@@ -212,12 +208,14 @@ class Plumrocket_SocialLogin_AccountController extends Mage_Core_Controller_Fron
212
  }
213
 
214
  // Remember current provider data.
215
- $session->setData('pslogin', array(
 
216
  'provider' => $model->getProvider(),
217
  'user_id' => $model->getUserData('user_id'),
218
  'photo' => $model->getUserData('photo'),
219
  'timeout' => time() + Plumrocket_SocialLogin_Helper_Data::TIME_TO_EDIT,
220
- ));
 
221
  }
222
  }
223
 
@@ -234,17 +232,25 @@ class Plumrocket_SocialLogin_AccountController extends Mage_Core_Controller_Fron
234
 
235
  // Unset referer link.
236
  $this->_getHelper()->refererLink(null);
 
 
 
237
  }
238
 
239
  if ($this->getRequest()->isXmlHttpRequest()) {
240
  $this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
241
- $this->getResponse()->setBody(json_encode(array(
242
- 'redirectUrl' => $redirectUrl
243
- )));
 
 
 
 
244
  } else {
245
  $this->getResponse()->setBody($this->_jsWrap('if (window.opener && window.opener.location && !window.opener.closed) { window.close(); window.opener.location.href = "'.$redirectUrl.'"; } else { window.location.href = "'.$redirectUrl.'"; }'));
246
 
247
- Mage::dispatchEvent('prsociallogin_login_success',
 
248
  array('account_controller' => $this, 'redirectUrl' => $redirectUrl)
249
  );
250
  }
@@ -259,12 +265,17 @@ class Plumrocket_SocialLogin_AccountController extends Mage_Core_Controller_Fron
259
  {
260
  if ($this->getRequest()->isXmlHttpRequest()) {
261
  $this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
262
- $this->getResponse()->setBody(json_encode(array(
263
- 'windowClose' => true
264
- )));
 
 
 
 
265
  } else {
266
  $this->getResponse()->setBody($this->_jsWrap('window.close();'));
267
  }
 
268
  return true;
269
  }
270
 
@@ -275,7 +286,8 @@ class Plumrocket_SocialLogin_AccountController extends Mage_Core_Controller_Fron
275
 
276
  protected function _dispatchRegisterSuccess($customer)
277
  {
278
- Mage::dispatchEvent('customer_register_success',
 
279
  array('account_controller' => $this, 'customer' => $customer)
280
  );
281
  }
31
  if (!$type || !class_exists($className)) {
32
  return $this->_windowClose();
33
  }
34
+
35
  $model = Mage::getSingleton("pslogin/$type");
36
 
37
  if (!$this->_getHelper()->moduleEnabled() || !$model->enabled()) {
39
  }
40
 
41
  if ($call = $this->getRequest()->getParam('call')) {
42
+ $this->_getHelper()->apiCall(
43
+ array(
44
  'type' => $type,
45
  'action' => $call,
46
+ )
47
+ );
48
  } else {
49
  $this->_getHelper()->apiCall(null);
50
  }
51
 
52
  switch($model->getProtocol()) {
 
53
  case 'OAuth':
54
  if ($link = $model->getProviderLink()) {
55
  $this->_redirectUrl($link);
98
 
99
  if ($session->isLoggedIn() && !$callTarget) {
100
  return $this->_windowClose();
 
101
  }
102
 
103
  $className = 'Plumrocket_SocialLogin_Model_'. ucfirst($type);
104
  if (!$type || !class_exists($className)) {
105
  return $this->_windowClose();
 
106
  }
 
107
 
108
+ $model = Mage::getSingleton("pslogin/$type");
 
 
 
109
 
110
  $responseTypes = $model->getResponseType();
111
  if (is_array($responseTypes)) {
116
  } else {
117
  $response = $this->getRequest()->getParam($responseTypes);
118
  }
119
+
120
  $model->_setLog($this->getRequest()->getParams());
121
 
122
  if (!$model->loadUserData($response)) {
123
  return $this->_windowClose();
 
124
  }
125
 
126
  // Switch store.
208
  }
209
 
210
  // Remember current provider data.
211
+ $session->setData(
212
+ 'pslogin', array(
213
  'provider' => $model->getProvider(),
214
  'user_id' => $model->getUserData('user_id'),
215
  'photo' => $model->getUserData('photo'),
216
  'timeout' => time() + Plumrocket_SocialLogin_Helper_Data::TIME_TO_EDIT,
217
+ )
218
+ );
219
  }
220
  }
221
 
232
 
233
  // Unset referer link.
234
  $this->_getHelper()->refererLink(null);
235
+
236
+ // Remember provider type (for persona).
237
+ $session->setLoginProvider($model->getProvider());
238
  }
239
 
240
  if ($this->getRequest()->isXmlHttpRequest()) {
241
  $this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
242
+ $this->getResponse()->setBody(
243
+ json_encode(
244
+ array(
245
+ 'redirectUrl' => $redirectUrl
246
+ )
247
+ )
248
+ );
249
  } else {
250
  $this->getResponse()->setBody($this->_jsWrap('if (window.opener && window.opener.location && !window.opener.closed) { window.close(); window.opener.location.href = "'.$redirectUrl.'"; } else { window.location.href = "'.$redirectUrl.'"; }'));
251
 
252
+ Mage::dispatchEvent(
253
+ 'prsociallogin_login_success',
254
  array('account_controller' => $this, 'redirectUrl' => $redirectUrl)
255
  );
256
  }
265
  {
266
  if ($this->getRequest()->isXmlHttpRequest()) {
267
  $this->getResponse()->clearHeaders()->setHeader('Content-type', 'application/json', true);
268
+ $this->getResponse()->setBody(
269
+ json_encode(
270
+ array(
271
+ 'windowClose' => true
272
+ )
273
+ )
274
+ );
275
  } else {
276
  $this->getResponse()->setBody($this->_jsWrap('window.close();'));
277
  }
278
+
279
  return true;
280
  }
281
 
286
 
287
  protected function _dispatchRegisterSuccess($customer)
288
  {
289
+ Mage::dispatchEvent(
290
+ 'customer_register_success',
291
  array('account_controller' => $this, 'customer' => $customer)
292
  );
293
  }
app/code/community/Plumrocket/SocialLogin/etc/config.xml CHANGED
@@ -2,7 +2,7 @@
2
  <config>
3
  <modules>
4
  <Plumrocket_SocialLogin>
5
- <version>1.4.2</version>
6
  </Plumrocket_SocialLogin>
7
  </modules>
8
  <frontend>
@@ -153,7 +153,7 @@
153
  <redirect_for_register>__referer__</redirect_for_register>
154
  </general>
155
  <share>
156
- <enable>1</enable>
157
  <title>Please share us with your friends!</title>
158
  <description>Spread the word about this great Magento Store! Let everyone know about our great offers and everyday deals!</description>
159
  <page>2</page>
2
  <config>
3
  <modules>
4
  <Plumrocket_SocialLogin>
5
+ <version>1.4.3</version>
6
  </Plumrocket_SocialLogin>
7
  </modules>
8
  <frontend>
153
  <redirect_for_register>__referer__</redirect_for_register>
154
  </general>
155
  <share>
156
+ <enable>0</enable><!-- disabled by default -->
157
  <title>Please share us with your friends!</title>
158
  <description>Spread the word about this great Magento Store! Let everyone know about our great offers and everyday deals!</description>
159
  <page>2</page>
app/code/community/Plumrocket/SocialLogin/sql/pslogin_setup/install-1.0.0.php CHANGED
@@ -23,35 +23,46 @@ $installer->startSetup();
23
  /**
24
  * Create table
25
  */
26
- // $installer->getConnection()->dropTable($installer->getTable('pslogin/account'));
27
  $table = $installer->getConnection()
28
  ->newTable($installer->getTable('pslogin/account'))
29
- ->addColumn('id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
 
30
  'identity' => true,
31
  'unsigned' => true,
32
  'nullable' => false,
33
  'primary' => true,
34
- ), 'Id')
35
- ->addColumn('type', Varien_Db_Ddl_Table::TYPE_CHAR, 30, array(
 
 
36
  'nullable' => false,
37
- ), 'Login type')
38
- // ->addColumn('user_id', Varien_Db_Ddl_Table::TYPE_BIGINT, null, array(
39
- ->addColumn('user_id', Varien_Db_Ddl_Table::TYPE_CHAR, 255, array(
40
- // 'unsigned' => true,
 
41
  'nullable' => false,
42
- // 'default' => '0',
43
- ), 'User Id')
44
- ->addColumn('customer_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
 
45
  'unsigned' => true,
46
  'nullable' => false,
47
  'default' => '0',
48
- ), 'Customer Id')
49
- ->addIndex($installer->getIdxName('pslogin/account', array('type')),
50
- array('type'))
51
- ->addIndex($installer->getIdxName('pslogin/account', array('user_id')),
52
- array('user_id'))
53
- ->addIndex($installer->getIdxName('pslogin/account', array('customer_id')),
54
- array('customer_id'));
 
 
 
 
 
 
 
55
 
56
  /* Fix - check table engine before setting foreign key */
57
  $dbName = (string)Mage::getConfig()->getNode('global/resources/default_setup/connection/dbname');
@@ -64,10 +75,12 @@ $table = $installer->getConnection()
64
  $tableEngine = $readResource->fetchOne($query);
65
 
66
  if (strtolower($tableEngine) != 'myisam') {
67
- $table->addForeignKey($installer->getFkName('pslogin/account', 'customer_id', 'customer/entity', 'entity_id'),
 
68
  'customer_id', $installer->getTable('customer/entity'), 'entity_id',
69
  Varien_Db_Ddl_Table::ACTION_CASCADE,
70
- Varien_Db_Ddl_Table::ACTION_CASCADE);
 
71
  }
72
  /* End fix */
73
 
23
  /**
24
  * Create table
25
  */
 
26
  $table = $installer->getConnection()
27
  ->newTable($installer->getTable('pslogin/account'))
28
+ ->addColumn(
29
+ 'id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
30
  'identity' => true,
31
  'unsigned' => true,
32
  'nullable' => false,
33
  'primary' => true,
34
+ ), 'Id'
35
+ )
36
+ ->addColumn(
37
+ 'type', Varien_Db_Ddl_Table::TYPE_CHAR, 30, array(
38
  'nullable' => false,
39
+ ), 'Login type'
40
+ )
41
+
42
+ ->addColumn(
43
+ 'user_id', Varien_Db_Ddl_Table::TYPE_CHAR, 255, array(
44
  'nullable' => false,
45
+ ), 'User Id'
46
+ )
47
+ ->addColumn(
48
+ 'customer_id', Varien_Db_Ddl_Table::TYPE_INTEGER, null, array(
49
  'unsigned' => true,
50
  'nullable' => false,
51
  'default' => '0',
52
+ ), 'Customer Id'
53
+ )
54
+ ->addIndex(
55
+ $installer->getIdxName('pslogin/account', array('type')),
56
+ array('type')
57
+ )
58
+ ->addIndex(
59
+ $installer->getIdxName('pslogin/account', array('user_id')),
60
+ array('user_id')
61
+ )
62
+ ->addIndex(
63
+ $installer->getIdxName('pslogin/account', array('customer_id')),
64
+ array('customer_id')
65
+ );
66
 
67
  /* Fix - check table engine before setting foreign key */
68
  $dbName = (string)Mage::getConfig()->getNode('global/resources/default_setup/connection/dbname');
75
  $tableEngine = $readResource->fetchOne($query);
76
 
77
  if (strtolower($tableEngine) != 'myisam') {
78
+ $table->addForeignKey(
79
+ $installer->getFkName('pslogin/account', 'customer_id', 'customer/entity', 'entity_id'),
80
  'customer_id', $installer->getTable('customer/entity'), 'entity_id',
81
  Varien_Db_Ddl_Table::ACTION_CASCADE,
82
+ Varien_Db_Ddl_Table::ACTION_CASCADE
83
+ );
84
  }
85
  /* End fix */
86
 
app/design/adminhtml/default/default/layout/pslogin.xml CHANGED
@@ -6,20 +6,10 @@
6
  <action method="setCanLoadTinyMce">
7
  <load>1</load>
8
  </action>
9
-
10
  <action method="addCss"><stylesheet>css/plumrocket/pslogin/pslogin.css</stylesheet></action>
11
- <!-- <action method="addItem"><type>js_css</type><name>prototype/windows/themes/default.css</name></action>
12
- <action method="addItem"><type>js_css</type><name>prototype/windows/themes/magento.css</name></action>
13
- <action method="addCss"><stylesheet>lib/prototype/windows/themes/magento.css</stylesheet></action> -->
14
-
15
- <action method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/jquery-1.10.2.min.js</name></action>
16
  <action method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/jquery-ui.min.js</name></action>
17
  <action method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/pslogin.js</name></action>
18
-
19
- <!-- <action method="addJs"><script>tiny_mce/tiny_mce.js</script></action>
20
- <action method="addJs"><script>mage/adminhtml/wysiwyg/tiny_mce/setup.js</script></action> -->
21
- <!-- <action method="addJs"><script>mage/adminhtml/variables.js</script></action> -->
22
- <!-- <action method="addJs"><script>mage/adminhtml/wysiwyg/widget.js</script></action> -->
23
  <action method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/config.js</name></action>
24
  </reference>
25
  </adminhtml_system_config_edit>
6
  <action method="setCanLoadTinyMce">
7
  <load>1</load>
8
  </action>
 
9
  <action method="addCss"><stylesheet>css/plumrocket/pslogin/pslogin.css</stylesheet></action>
10
+ <action method="addJs"><script>plumrocket/jquery-1.10.2.min.js</script></action>
 
 
 
 
11
  <action method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/jquery-ui.min.js</name></action>
12
  <action method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/pslogin.js</name></action>
 
 
 
 
 
13
  <action method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/config.js</name></action>
14
  </reference>
15
  </adminhtml_system_config_edit>
app/design/frontend/base/default/layout/pslogin.xml CHANGED
@@ -5,7 +5,7 @@
5
  <reference name="head">
6
  <action ifconfig="pslogin/general/enable" method="addCss"><stylesheet>css/plumrocket/pslogin/pslogin.css</stylesheet></action>
7
  <action ifconfig="pslogin/general/enable" method="addCss"><stylesheet>css/plumrocket/pslogin/pslogin-custom.css</stylesheet></action>
8
- <action ifconfig="pslogin/general/enable" method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/jquery-1.10.2.min.js</name></action>
9
  <action ifconfig="pslogin/general/enable" method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/pslogin.js</name></action>
10
  </reference>
11
  <reference name="after_body_start">
@@ -77,12 +77,6 @@
77
  </reference>
78
  </privatesales_splashpage_login>
79
 
80
- <!-- <pslogin_account_sharedata>
81
- <reference name="root">
82
- <action ifconfig="pslogin/general/enable" method="setTemplate"><template>pslogin/customer/form/register/sharedata.phtml</template></action>
83
- </reference>
84
- </pslogin_account_sharedata> -->
85
-
86
  <!-- Theme Black&White -->
87
  <onepagecheckout_index_index>
88
  <reference name="customer.login">
5
  <reference name="head">
6
  <action ifconfig="pslogin/general/enable" method="addCss"><stylesheet>css/plumrocket/pslogin/pslogin.css</stylesheet></action>
7
  <action ifconfig="pslogin/general/enable" method="addCss"><stylesheet>css/plumrocket/pslogin/pslogin-custom.css</stylesheet></action>
8
+ <action method="addJs" ifconfig="pslogin/general/enable"><script>plumrocket/jquery-1.10.2.min.js</script></action>
9
  <action ifconfig="pslogin/general/enable" method="addItem"><type>skin_js</type><name>js/plumrocket/pslogin/pslogin.js</name></action>
10
  </reference>
11
  <reference name="after_body_start">
77
  </reference>
78
  </privatesales_splashpage_login>
79
 
 
 
 
 
 
 
80
  <!-- Theme Black&White -->
81
  <onepagecheckout_index_index>
82
  <reference name="customer.login">
app/design/frontend/base/default/template/pslogin/checkout/onepage/login.phtml CHANGED
@@ -20,7 +20,7 @@
20
  <div class="col2-set<?php if (!$this->helper('customer')->isRegistrationAllowed() && !$this->getQuote()->isAllowedGuestCheckout()) echo ' login-only' ?> pslogin-form">
21
  <div class="col-1">
22
  <h3>
23
- <?php if( $this->getQuote()->isAllowedGuestCheckout() && $this->helper('customer')->isRegistrationAllowed() ): ?>
24
  <?php echo $this->__('Checkout as a Guest or Register') ?>
25
  <?php elseif ( $this->getQuote()->isAllowedGuestCheckout() && !$this->helper('customer')->isRegistrationAllowed() ): ?>
26
  <?php echo $this->__('Checkout as a Guest') ?>
@@ -28,26 +28,26 @@
28
  <?php echo $this->__('Register to Create an Account') ?>
29
  <?php endif; ?>
30
  </h3>
31
- <?php if( !$this->getQuote()->isAllowedGuestCheckout() && $this->helper('customer')->isRegistrationAllowed() ): ?>
32
  <p class="description"><?php echo $this->__('Register and save time!') ?></strong><br />
33
  <?php echo $this->__('Register with us for future convenience:') ?></p>
34
  <ul>
35
  <li><?php echo $this->__('Fast and easy check out') ?></li>
36
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
37
  </ul>
38
- <?php elseif( $this->getQuote()->isAllowedGuestCheckout() && $this->helper('customer')->isRegistrationAllowed() ): ?>
39
  <p class="description"><?php echo $this->__('Register with us for future convenience:') ?></p>
40
  <?php endif ?>
41
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <ul class="form-list">
43
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
44
  <li class="control">
45
- <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()!=Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
46
  </li>
47
  <?php endif; ?>
48
- <?php if( $this->helper('customer')->isRegistrationAllowed() ): ?>
49
  <li class="control">
50
- <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" />
51
  <label for="login:register"><?php echo $this->__('Register and Checkout') ?></label>
52
  </li>
53
  <?php endif; ?>
@@ -102,7 +102,7 @@
102
  <div class="buttons-set">
103
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
104
  </div>
105
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
106
  <div class="pslogin-spacer pslogin-clearfix">
107
  <table>
108
  <tr>
@@ -129,7 +129,7 @@
129
  }
130
  function onepageLogin(button)
131
  {
132
- if(loginForm.validator && loginForm.validator.validate()){
133
  button.disabled = true;
134
  loginForm.submit();
135
  }
@@ -143,7 +143,7 @@
143
  <script type="text/javascript">
144
  //<![CDATA[
145
  document.observe("dom:loaded", function() {
146
- if($('login:register')) {
147
  $('login:register').checked = true;
148
  checkout.setMethod();
149
  }
20
  <div class="col2-set<?php if (!$this->helper('customer')->isRegistrationAllowed() && !$this->getQuote()->isAllowedGuestCheckout()) echo ' login-only' ?> pslogin-form">
21
  <div class="col-1">
22
  <h3>
23
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() && $this->helper('customer')->isRegistrationAllowed() ): ?>
24
  <?php echo $this->__('Checkout as a Guest or Register') ?>
25
  <?php elseif ( $this->getQuote()->isAllowedGuestCheckout() && !$this->helper('customer')->isRegistrationAllowed() ): ?>
26
  <?php echo $this->__('Checkout as a Guest') ?>
28
  <?php echo $this->__('Register to Create an Account') ?>
29
  <?php endif; ?>
30
  </h3>
31
+ <?php if ( !$this->getQuote()->isAllowedGuestCheckout() && $this->helper('customer')->isRegistrationAllowed() ): ?>
32
  <p class="description"><?php echo $this->__('Register and save time!') ?></strong><br />
33
  <?php echo $this->__('Register with us for future convenience:') ?></p>
34
  <ul>
35
  <li><?php echo $this->__('Fast and easy check out') ?></li>
36
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
37
  </ul>
38
+ <?php elseif ( $this->getQuote()->isAllowedGuestCheckout() && $this->helper('customer')->isRegistrationAllowed() ): ?>
39
  <p class="description"><?php echo $this->__('Register with us for future convenience:') ?></p>
40
  <?php endif ?>
41
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <ul class="form-list">
43
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
44
  <li class="control">
45
+ <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if ($this->getQuote()->getCheckoutMethod()!=Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
46
  </li>
47
  <?php endif; ?>
48
+ <?php if ( $this->helper('customer')->isRegistrationAllowed() ): ?>
49
  <li class="control">
50
+ <input type="radio" name="checkout_method" id="login:register" value="register"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" />
51
  <label for="login:register"><?php echo $this->__('Register and Checkout') ?></label>
52
  </li>
53
  <?php endif; ?>
102
  <div class="buttons-set">
103
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
104
  </div>
105
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
106
  <div class="pslogin-spacer pslogin-clearfix">
107
  <table>
108
  <tr>
129
  }
130
  function onepageLogin(button)
131
  {
132
+ if (loginForm.validator && loginForm.validator.validate()){
133
  button.disabled = true;
134
  loginForm.submit();
135
  }
143
  <script type="text/javascript">
144
  //<![CDATA[
145
  document.observe("dom:loaded", function() {
146
+ if ($('login:register')) {
147
  $('login:register').checked = true;
148
  checkout.setMethod();
149
  }
app/design/frontend/base/default/template/pslogin/checkout/onepage/message/fake_email.phtml CHANGED
@@ -16,7 +16,7 @@
16
  */
17
  ?>
18
 
19
- <?php if(Mage::helper('pslogin')->isFakeMail()) : ?>
20
  <div class="pslogin-fake-email-message">
21
  <div class="content">
22
  <div class="close-message">&#10005;</div>
16
  */
17
  ?>
18
 
19
+ <?php if (Mage::helper('pslogin')->isFakeMail()) : ?>
20
  <div class="pslogin-fake-email-message">
21
  <div class="content">
22
  <div class="close-message">&#10005;</div>
app/design/frontend/base/default/template/pslogin/customer/form/edit/fake_email.phtml CHANGED
@@ -16,7 +16,7 @@
16
  */
17
  ?>
18
 
19
- <?php if(Mage::helper('pslogin')->isFakeMail()) : ?>
20
  <script type="text/javascript">
21
  //<![CDATA[
22
  pjQuery_1_10_2(document).ready(function() {
16
  */
17
  ?>
18
 
19
+ <?php if (Mage::helper('pslogin')->isFakeMail()) : ?>
20
  <script type="text/javascript">
21
  //<![CDATA[
22
  pjQuery_1_10_2(document).ready(function() {
app/design/frontend/base/default/template/pslogin/customer/form/login.phtml CHANGED
@@ -75,7 +75,7 @@
75
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
76
  </div>
77
 
78
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
79
  <div class="pslogin-spacer pslogin-clearfix">
80
  <table>
81
  <tr>
75
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
76
  </div>
77
 
78
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
79
  <div class="pslogin-spacer pslogin-clearfix">
80
  <table>
81
  <tr>
app/design/frontend/base/default/template/pslogin/customer/form/login/buttons.phtml CHANGED
@@ -11,12 +11,12 @@
11
  * send an email to support@plumrocket.com so we can send you a copy immediately.
12
  *
13
  * @package Plumrocket_SocialLogin
14
- * @copyright Copyright (c) 2014 Plumrocket Inc. (http://www.plumrocket.com)
15
  * @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
16
  */
17
  ?>
18
 
19
- <?php if(Mage::helper('pslogin')->hasButtons()) : ?>
20
  <div class="pslogin-block pslogin-login">
21
 
22
  <div class="pslogin-spacer pslogin-clearfix">
@@ -29,15 +29,15 @@
29
  <li class="pslogin-button <?php echo $button['type']; ?> <?php echo empty($button['visible'])? 'pslogin-hidden' : 'pslogin-visible'; ?>" <?php echo empty($button['visible'])? 'style="display: none;"' : ''; ?> title="<?php echo $this->escapeHtml($button['login_text']); ?>">
30
  <a class="pslogin-button-link" rel="nofollow" href="javascript:void(0);" onclick="psLogin('<?php echo $button['href']; ?>', '<?php echo $button['popup_width']; ?>', '<?php echo $button['popup_height']; ?>');" >
31
 
32
- <?php if($this->showLoginFullButtons() && !empty($button['image']['login'])) : ?>
33
  <img class="pslogin-button-image" src="<?php echo $this->escapeHtml($button['image']['login']); ?>" />
34
  <?php endif; ?>
35
 
36
- <?php if(!$this->showFullButtons() && !empty($button['image']['icon'])) : ?>
37
  <img class="pslogin-button-icon-image" src="<?php echo $this->escapeHtml($button['image']['icon']); ?>" />
38
  <?php endif; ?>
39
-
40
- <?php if(empty($button['image']['login']) || empty($button['image']['icon'])) : ?>
41
  <span class="pslogin-button-auto <?php echo !empty($button['image']['login'])? 'pslogin-has-button-image' : ''; ?> <?php echo !empty($button['image']['icon'])? 'pslogin-has-button-icon-image' : ''; ?>">
42
  <span class="pslogin-button-icon">
43
  <?php echo !empty($button['image']['icon'])? '<img class="pslogin-button-icon-image" src="'. $this->escapeHtml($button['image']['icon']) .'" />' : ''; ?>
@@ -50,7 +50,7 @@
50
  <?php endforeach; ?>
51
  </ul>
52
 
53
- <?php if($this->getPreparedButtons('hidden')) : ?>
54
  <div class="pslogin-spacer pslogin-clearfix pslogin-showmore">
55
  <table>
56
  <tr>
11
  * send an email to support@plumrocket.com so we can send you a copy immediately.
12
  *
13
  * @package Plumrocket_SocialLogin
14
+ * @copyright Copyright (c) 2017 Plumrocket Inc. (http://www.plumrocket.com)
15
  * @license http://wiki.plumrocket.net/wiki/EULA End-user License Agreement
16
  */
17
  ?>
18
 
19
+ <?php if (Mage::helper('pslogin')->hasButtons()) : ?>
20
  <div class="pslogin-block pslogin-login">
21
 
22
  <div class="pslogin-spacer pslogin-clearfix">
29
  <li class="pslogin-button <?php echo $button['type']; ?> <?php echo empty($button['visible'])? 'pslogin-hidden' : 'pslogin-visible'; ?>" <?php echo empty($button['visible'])? 'style="display: none;"' : ''; ?> title="<?php echo $this->escapeHtml($button['login_text']); ?>">
30
  <a class="pslogin-button-link" rel="nofollow" href="javascript:void(0);" onclick="psLogin('<?php echo $button['href']; ?>', '<?php echo $button['popup_width']; ?>', '<?php echo $button['popup_height']; ?>');" >
31
 
32
+ <?php if ($this->showLoginFullButtons() && !empty($button['image']['login'])) : ?>
33
  <img class="pslogin-button-image" src="<?php echo $this->escapeHtml($button['image']['login']); ?>" />
34
  <?php endif; ?>
35
 
36
+ <?php if (!$this->showFullButtons() && !empty($button['image']['icon'])) : ?>
37
  <img class="pslogin-button-icon-image" src="<?php echo $this->escapeHtml($button['image']['icon']); ?>" />
38
  <?php endif; ?>
39
+
40
+ <?php if (empty($button['image']['login']) || empty($button['image']['icon'])) : ?>
41
  <span class="pslogin-button-auto <?php echo !empty($button['image']['login'])? 'pslogin-has-button-image' : ''; ?> <?php echo !empty($button['image']['icon'])? 'pslogin-has-button-icon-image' : ''; ?>">
42
  <span class="pslogin-button-icon">
43
  <?php echo !empty($button['image']['icon'])? '<img class="pslogin-button-icon-image" src="'. $this->escapeHtml($button['image']['icon']) .'" />' : ''; ?>
50
  <?php endforeach; ?>
51
  </ul>
52
 
53
+ <?php if ($this->getPreparedButtons('hidden')) : ?>
54
  <div class="pslogin-spacer pslogin-clearfix pslogin-showmore">
55
  <table>
56
  <tr>
app/design/frontend/base/default/template/pslogin/customer/form/register.phtml CHANGED
@@ -21,7 +21,7 @@
21
  <h1><?php echo $this->__('Create an Account') ?></h1>
22
  </div>
23
  <?php echo $this->getChildHtml('form_fields_before')?>
24
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
25
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
26
  <div class="pslogin-spacer pslogin-clearfix">
27
  <table>
@@ -64,7 +64,7 @@
64
  <li><?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?></li>
65
  <?php endif ?>
66
 
67
- <?php if($this->getShowAddressFields()): ?>
68
  <li class="hidden">
69
  <input type="hidden" name="create_address" value="1" />
70
  </li>
@@ -157,7 +157,7 @@
157
  <?php if ($this->isNewsletterEnabled()): ?>
158
  <li class="control">
159
  <div class="input-box">
160
- <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
161
  </div>
162
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
163
  </li>
@@ -177,7 +177,7 @@
177
  <script type="text/javascript">
178
  //<![CDATA[
179
  var dataForm = new VarienForm('form-validate', true);
180
- <?php if($this->getShowAddressFields()): ?>
181
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
182
  <?php endif; ?>
183
  //]]>
21
  <h1><?php echo $this->__('Create an Account') ?></h1>
22
  </div>
23
  <?php echo $this->getChildHtml('form_fields_before')?>
24
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
25
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
26
  <div class="pslogin-spacer pslogin-clearfix">
27
  <table>
64
  <li><?php echo $_gender->setGender($this->getFormData()->getGender())->toHtml() ?></li>
65
  <?php endif ?>
66
 
67
+ <?php if ($this->getShowAddressFields()): ?>
68
  <li class="hidden">
69
  <input type="hidden" name="create_address" value="1" />
70
  </li>
157
  <?php if ($this->isNewsletterEnabled()): ?>
158
  <li class="control">
159
  <div class="input-box">
160
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if ($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
161
  </div>
162
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
163
  </li>
177
  <script type="text/javascript">
178
  //<![CDATA[
179
  var dataForm = new VarienForm('form-validate', true);
180
+ <?php if ($this->getShowAddressFields()): ?>
181
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
182
  <?php endif; ?>
183
  //]]>
app/design/frontend/base/default/template/pslogin/customer/form/register/buttons.phtml CHANGED
@@ -16,12 +16,12 @@
16
  */
17
  ?>
18
 
19
- <?php if(Mage::helper('pslogin')->hasButtons()) : ?>
20
  <div class="pslogin-block pslogin-register">
21
 
22
  <div class="pslogin-buttons <?php echo $this->showRegisterFullButtons()? 'pslogin-buttons-showfull' : ''; ?>">
23
 
24
- <?php if(!$this->showRegisterFullButtons()) : ?>
25
  <div class="pslogin-spacer">
26
  <?php echo $this->__('Register with your social account'); ?>
27
  </div>
@@ -33,8 +33,8 @@
33
  <li class="pslogin-button <?php echo $button['type']; ?>" title="<?php echo $this->escapeHtml($button['register_text']); ?>">
34
  <a class="pslogin-button-link" rel="nofollow" href="javascript:void(0);" onclick="psLogin('<?php echo $button['href']; ?>', '<?php echo $button['popup_width']; ?>', '<?php echo $button['popup_height']; ?>');" >
35
 
36
- <?php if($this->showRegisterFullButtons()) : ?>
37
- <?php if(!empty($button['image']['register'])) : ?>
38
  <img class="pslogin-button-image" src="<?php echo $this->escapeHtml($button['image']['register']); ?>" />
39
  <?php else : ?>
40
  <span class="pslogin-button-auto">
@@ -45,7 +45,7 @@
45
  </span>
46
  <?php endif; ?>
47
  <?php else : ?>
48
- <?php if(!empty($button['image']['icon'])) : ?>
49
  <img class="pslogin-button-icon-image" src="<?php echo $this->escapeHtml($button['image']['icon']); ?>" />
50
  <?php else : ?>
51
  <span class="pslogin-button-auto">
16
  */
17
  ?>
18
 
19
+ <?php if (Mage::helper('pslogin')->hasButtons()) : ?>
20
  <div class="pslogin-block pslogin-register">
21
 
22
  <div class="pslogin-buttons <?php echo $this->showRegisterFullButtons()? 'pslogin-buttons-showfull' : ''; ?>">
23
 
24
+ <?php if (!$this->showRegisterFullButtons()) : ?>
25
  <div class="pslogin-spacer">
26
  <?php echo $this->__('Register with your social account'); ?>
27
  </div>
33
  <li class="pslogin-button <?php echo $button['type']; ?>" title="<?php echo $this->escapeHtml($button['register_text']); ?>">
34
  <a class="pslogin-button-link" rel="nofollow" href="javascript:void(0);" onclick="psLogin('<?php echo $button['href']; ?>', '<?php echo $button['popup_width']; ?>', '<?php echo $button['popup_height']; ?>');" >
35
 
36
+ <?php if ($this->showRegisterFullButtons()) : ?>
37
+ <?php if (!empty($button['image']['register'])) : ?>
38
  <img class="pslogin-button-image" src="<?php echo $this->escapeHtml($button['image']['register']); ?>" />
39
  <?php else : ?>
40
  <span class="pslogin-button-auto">
45
  </span>
46
  <?php endif; ?>
47
  <?php else : ?>
48
+ <?php if (!empty($button['image']['icon'])) : ?>
49
  <img class="pslogin-button-icon-image" src="<?php echo $this->escapeHtml($button['image']['icon']); ?>" />
50
  <?php else : ?>
51
  <span class="pslogin-button-auto">
app/design/frontend/base/default/template/pslogin/customer/form/register/sharepopup.phtml CHANGED
@@ -16,7 +16,7 @@
16
  */
17
  ?>
18
 
19
- <?php if($this->showPopup()) { ?>
20
  <div class="pslogin-addedoverlay"></div>
21
 
22
  <div class="pslogin-pop-up-form">
16
  */
17
  ?>
18
 
19
+ <?php if ($this->showPopup()) { ?>
20
  <div class="pslogin-addedoverlay"></div>
21
 
22
  <div class="pslogin-pop-up-form">
app/design/frontend/base/default/template/pslogin/js.phtml CHANGED
@@ -19,7 +19,7 @@
19
 
20
  <?php
21
  $helper = Mage::helper('pslogin');
22
- if(!$helper->moduleEnabled()) {
23
  return;
24
  }
25
  ?>
19
 
20
  <?php
21
  $helper = Mage::helper('pslogin');
22
+ if (!$helper->moduleEnabled()) {
23
  return;
24
  }
25
  ?>
app/design/frontend/base/default/template/pslogin/page/html/welcome.phtml CHANGED
@@ -17,7 +17,7 @@
17
  ?>
18
 
19
  <span class="pslogin-welcome-msg">
20
- <?php if( ($image = $this->getPhotoPath()) && $this->photoEnabled() ) { ?>
21
  <img src="<?php echo $image; ?>" />
22
  <?php } ?>
23
 
17
  ?>
18
 
19
  <span class="pslogin-welcome-msg">
20
+ <?php if ( ($image = $this->getPhotoPath()) && $this->photoEnabled() ) { ?>
21
  <img src="<?php echo $image; ?>" />
22
  <?php } ?>
23
 
app/design/frontend/base/default/template/pslogin/runjs.phtml CHANGED
@@ -19,7 +19,7 @@
19
 
20
  <?php
21
  $helper = Mage::helper('pslogin');
22
- if(!$helper->moduleEnabled()) {
23
  return;
24
  }
25
  ?>
@@ -40,7 +40,7 @@ if(!$helper->moduleEnabled()) {
40
  form.appendChild(textarea);
41
 
42
  form.submit();
43
- } else if(window.opener) {
44
  window.close();
45
  }
46
  }
19
 
20
  <?php
21
  $helper = Mage::helper('pslogin');
22
+ if (!$helper->moduleEnabled()) {
23
  return;
24
  }
25
  ?>
40
  form.appendChild(textarea);
41
 
42
  form.submit();
43
+ } else if (window.opener) {
44
  window.close();
45
  }
46
  }
app/design/frontend/blacknwhite/default/template/pslogin/customer/form/login.phtml CHANGED
@@ -59,7 +59,7 @@
59
  <a href="<?php echo $this->getForgotPasswordUrl() ?>" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
60
  </div>
61
 
62
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
63
  <div class="pslogin-spacer pslogin-clearfix">
64
  <table>
65
  <tr>
59
  <a href="<?php echo $this->getForgotPasswordUrl() ?>" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
60
  </div>
61
 
62
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
63
  <div class="pslogin-spacer pslogin-clearfix">
64
  <table>
65
  <tr>
app/design/frontend/blacknwhite/default/template/pslogin/customer/form/register.phtml CHANGED
@@ -39,7 +39,7 @@
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
 
42
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
43
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
44
  <div class="pslogin-spacer pslogin-clearfix">
45
  <table>
@@ -71,7 +71,7 @@
71
  <?php if ($this->isNewsletterEnabled()): ?>
72
  <li class="control">
73
  <div class="input-box">
74
- <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
75
  </div>
76
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
77
  </li>
@@ -90,7 +90,7 @@
90
  <?php endif ?>
91
  </ul>
92
  </div>
93
- <?php if($this->getShowAddressFields()): ?>
94
  <div class="fieldset">
95
  <input type="hidden" name="create_address" value="1" />
96
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
@@ -199,7 +199,7 @@
199
  <script type="text/javascript">
200
  //<![CDATA[
201
  var dataForm = new VarienForm('form-validate', true);
202
- <?php if($this->getShowAddressFields()): ?>
203
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
204
  <?php endif; ?>
205
  //]]>
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
 
42
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
43
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
44
  <div class="pslogin-spacer pslogin-clearfix">
45
  <table>
71
  <?php if ($this->isNewsletterEnabled()): ?>
72
  <li class="control">
73
  <div class="input-box">
74
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if ($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
75
  </div>
76
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
77
  </li>
90
  <?php endif ?>
91
  </ul>
92
  </div>
93
+ <?php if ($this->getShowAddressFields()): ?>
94
  <div class="fieldset">
95
  <input type="hidden" name="create_address" value="1" />
96
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
199
  <script type="text/javascript">
200
  //<![CDATA[
201
  var dataForm = new VarienForm('form-validate', true);
202
+ <?php if ($this->getShowAddressFields()): ?>
203
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
204
  <?php endif; ?>
205
  //]]>
app/design/frontend/blacknwhite/default/template/pslogin/onepagecheckout/login.phtml CHANGED
@@ -9,7 +9,7 @@
9
  <?php
10
  $login_url = $this->getUrl('*/*/login', array('_secure'=>(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on')));
11
  $http_mode = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on');
12
- if($http_mode)
13
  $login_url = str_replace('http:', 'https:', $login_url);
14
  ?>
15
  <form method="post" id="login-form" action="<?php echo $login_url ?>" autocomplete="on">
@@ -41,7 +41,7 @@ if($http_mode)
41
  </span>
42
  </div>
43
 
44
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
45
  <div class="pslogin-spacer pslogin-clearfix">
46
  <table>
47
  <tr>
9
  <?php
10
  $login_url = $this->getUrl('*/*/login', array('_secure'=>(!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on')));
11
  $http_mode = (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS']==='on');
12
+ if ($http_mode)
13
  $login_url = str_replace('http:', 'https:', $login_url);
14
  ?>
15
  <form method="post" id="login-form" action="<?php echo $login_url ?>" autocomplete="on">
41
  </span>
42
  </div>
43
 
44
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
45
  <div class="pslogin-spacer pslogin-clearfix">
46
  <table>
47
  <tr>
app/design/frontend/default/blanco/template/pslogin/checkout/onepage/login.phtml CHANGED
@@ -37,8 +37,8 @@
37
  <div class="col2-set">
38
  <?php echo $this->getChildHtml('login_before')?>
39
  <div class="col-1">
40
- <h3><?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></h3>
41
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
@@ -48,15 +48,15 @@
48
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
49
  </ul>
50
  <?php endif; ?>
51
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
52
  <ul class="form-list">
53
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
54
  <li class="control">
55
- <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
56
  </li>
57
  <?php endif; ?>
58
  <li class="control">
59
- <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
60
  </li>
61
  </ul>
62
  <h4><?php echo $this->__('Register and save time!') ?></h4>
@@ -120,7 +120,7 @@
120
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
121
  </div>
122
 
123
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
124
  <div class="pslogin-spacer pslogin-clearfix">
125
  <table>
126
  <tr>
@@ -147,7 +147,7 @@
147
  }
148
  function onepageLogin(button)
149
  {
150
- if(loginForm.validator && loginForm.validator.validate()){
151
  button.disabled = true;
152
  loginForm.submit();
153
  }
@@ -161,7 +161,7 @@
161
  <script type="text/javascript">
162
  //<![CDATA[
163
  document.observe("dom:loaded", function() {
164
- if($('login:register')) {
165
  $('login:register').checked = true;
166
  checkout.setMethod();
167
  }
37
  <div class="col2-set">
38
  <?php echo $this->getChildHtml('login_before')?>
39
  <div class="col-1">
40
+ <h3><?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></h3>
41
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
48
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
49
  </ul>
50
  <?php endif; ?>
51
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
52
  <ul class="form-list">
53
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
54
  <li class="control">
55
+ <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
56
  </li>
57
  <?php endif; ?>
58
  <li class="control">
59
+ <input type="radio" name="checkout_method" id="login:register" value="register"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
60
  </li>
61
  </ul>
62
  <h4><?php echo $this->__('Register and save time!') ?></h4>
120
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
121
  </div>
122
 
123
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
124
  <div class="pslogin-spacer pslogin-clearfix">
125
  <table>
126
  <tr>
147
  }
148
  function onepageLogin(button)
149
  {
150
+ if (loginForm.validator && loginForm.validator.validate()){
151
  button.disabled = true;
152
  loginForm.submit();
153
  }
161
  <script type="text/javascript">
162
  //<![CDATA[
163
  document.observe("dom:loaded", function() {
164
+ if ($('login:register')) {
165
  $('login:register').checked = true;
166
  checkout.setMethod();
167
  }
app/design/frontend/default/blanco/template/pslogin/customer/form/login.phtml CHANGED
@@ -83,7 +83,7 @@
83
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
84
  </div>
85
 
86
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
87
  <div class="pslogin-spacer pslogin-clearfix">
88
  <table>
89
  <tr>
83
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
84
  </div>
85
 
86
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
87
  <div class="pslogin-spacer pslogin-clearfix">
88
  <table>
89
  <tr>
app/design/frontend/default/blanco/template/pslogin/customer/form/register.phtml CHANGED
@@ -39,7 +39,7 @@
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
 
42
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
43
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
44
  <div class="pslogin-spacer pslogin-clearfix">
45
  <table>
@@ -71,7 +71,7 @@
71
  <?php if ($this->isNewsletterEnabled()): ?>
72
  <li class="control">
73
  <div class="input-box">
74
- <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
75
  </div>
76
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
77
  </li>
@@ -90,7 +90,7 @@
90
  <?php endif ?>
91
  </ul>
92
  </div>
93
- <?php if($this->getShowAddressFields()): ?>
94
  <div class="fieldset">
95
  <input type="hidden" name="create_address" value="1" />
96
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
@@ -199,7 +199,7 @@
199
  <script type="text/javascript">
200
  //<![CDATA[
201
  var dataForm = new VarienForm('form-validate', true);
202
- <?php if($this->getShowAddressFields()): ?>
203
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
204
  <?php endif; ?>
205
  //]]>
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
 
42
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
43
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
44
  <div class="pslogin-spacer pslogin-clearfix">
45
  <table>
71
  <?php if ($this->isNewsletterEnabled()): ?>
72
  <li class="control">
73
  <div class="input-box">
74
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if ($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
75
  </div>
76
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
77
  </li>
90
  <?php endif ?>
91
  </ul>
92
  </div>
93
+ <?php if ($this->getShowAddressFields()): ?>
94
  <div class="fieldset">
95
  <input type="hidden" name="create_address" value="1" />
96
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
199
  <script type="text/javascript">
200
  //<![CDATA[
201
  var dataForm = new VarienForm('form-validate', true);
202
+ <?php if ($this->getShowAddressFields()): ?>
203
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
204
  <?php endif; ?>
205
  //]]>
app/design/frontend/default/buyshop/template/pslogin/checkout/onepage/login.phtml CHANGED
@@ -38,13 +38,13 @@
38
  <div class="pull-left">
39
  <!--<form id="form-checkout">-->
40
 
41
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><strong><?php echo $this->__('CHECKOUT AS A GUEST OR REGISTER') ?></strong></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register to Create an Account') ?></strong></p>
45
  <?php endif; ?>
46
 
47
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
48
  <p><strong><?php echo $this->__('Register with us for future convenience:') ?></strong></p>
49
  <?php else: ?>
50
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
@@ -55,17 +55,17 @@
55
  </ul>
56
  <?php endif; ?>
57
 
58
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
59
 
60
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
61
 
62
  <div class="wrapper">
63
- <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="pull-left" />
64
  <label for="radio">&nbsp;&nbsp;<strong><?php echo $this->__('Checkout as Guest') ?></strong></label>
65
  </div>
66
  <?php endif; ?>
67
  <div class="wrapper">
68
- <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="pull-left" />
69
  <label for="radio">&nbsp;&nbsp;<strong><?php echo $this->__('Register') ?></strong></label>
70
  </div>
71
 
@@ -118,7 +118,7 @@
118
  </div>
119
  <input name="context" type="hidden" value="checkout" />
120
 
121
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
122
  <div class="pslogin-spacer pslogin-clearfix">
123
  <table>
124
  <tr>
@@ -147,7 +147,7 @@
147
  }
148
  function onepageLogin(button)
149
  {
150
- if(loginForm.validator && loginForm.validator.validate()){
151
  button.disabled = true;
152
  loginForm.submit();
153
  }
@@ -161,7 +161,7 @@
161
  <script type="text/javascript">
162
  //<![CDATA[
163
  document.observe("dom:loaded", function() {
164
- if($('login:register')) {
165
  $('login:register').checked = true;
166
  checkout.setMethod();
167
  }
38
  <div class="pull-left">
39
  <!--<form id="form-checkout">-->
40
 
41
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><strong><?php echo $this->__('CHECKOUT AS A GUEST OR REGISTER') ?></strong></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register to Create an Account') ?></strong></p>
45
  <?php endif; ?>
46
 
47
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
48
  <p><strong><?php echo $this->__('Register with us for future convenience:') ?></strong></p>
49
  <?php else: ?>
50
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
55
  </ul>
56
  <?php endif; ?>
57
 
58
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
59
 
60
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
61
 
62
  <div class="wrapper">
63
+ <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="pull-left" />
64
  <label for="radio">&nbsp;&nbsp;<strong><?php echo $this->__('Checkout as Guest') ?></strong></label>
65
  </div>
66
  <?php endif; ?>
67
  <div class="wrapper">
68
+ <input type="radio" name="checkout_method" id="login:register" value="register"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="pull-left" />
69
  <label for="radio">&nbsp;&nbsp;<strong><?php echo $this->__('Register') ?></strong></label>
70
  </div>
71
 
118
  </div>
119
  <input name="context" type="hidden" value="checkout" />
120
 
121
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
122
  <div class="pslogin-spacer pslogin-clearfix">
123
  <table>
124
  <tr>
147
  }
148
  function onepageLogin(button)
149
  {
150
+ if (loginForm.validator && loginForm.validator.validate()){
151
  button.disabled = true;
152
  loginForm.submit();
153
  }
161
  <script type="text/javascript">
162
  //<![CDATA[
163
  document.observe("dom:loaded", function() {
164
+ if ($('login:register')) {
165
  $('login:register').checked = true;
166
  checkout.setMethod();
167
  }
app/design/frontend/default/buyshop/template/pslogin/customer/form/login.phtml CHANGED
@@ -82,7 +82,7 @@
82
  <div class="pull-right"><button name="send" type="submit" class="button button-2x"><?php echo $this->__('Login') ?></button></div>
83
  </div>
84
 
85
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
86
  <div class="pslogin-spacer pslogin-clearfix">
87
  <table>
88
  <tr>
82
  <div class="pull-right"><button name="send" type="submit" class="button button-2x"><?php echo $this->__('Login') ?></button></div>
83
  </div>
84
 
85
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
86
  <div class="pslogin-spacer pslogin-clearfix">
87
  <table>
88
  <tr>
app/design/frontend/default/buyshop/template/pslogin/customer/form/register.phtml CHANGED
@@ -39,7 +39,7 @@
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
 
42
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
43
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
44
  <div class="pslogin-spacer pslogin-clearfix">
45
  <table>
@@ -71,7 +71,7 @@
71
  <?php if ($this->isNewsletterEnabled()): ?>
72
  <li class="control">
73
  <div class="input-box">
74
- <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
75
  </div>
76
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
77
  </li>
@@ -90,7 +90,7 @@
90
  <?php endif ?>
91
  </ul>
92
  </div>
93
- <?php if($this->getShowAddressFields()): ?>
94
  <div class="fieldset">
95
  <input type="hidden" name="create_address" value="1" />
96
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
@@ -199,7 +199,7 @@
199
  <script type="text/javascript">
200
  //<![CDATA[
201
  var dataForm = new VarienForm('form-validate', true);
202
- <?php if($this->getShowAddressFields()): ?>
203
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
204
  <?php endif; ?>
205
  //]]>
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
 
42
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
43
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
44
  <div class="pslogin-spacer pslogin-clearfix">
45
  <table>
71
  <?php if ($this->isNewsletterEnabled()): ?>
72
  <li class="control">
73
  <div class="input-box">
74
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if ($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
75
  </div>
76
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
77
  </li>
90
  <?php endif ?>
91
  </ul>
92
  </div>
93
+ <?php if ($this->getShowAddressFields()): ?>
94
  <div class="fieldset">
95
  <input type="hidden" name="create_address" value="1" />
96
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
199
  <script type="text/javascript">
200
  //<![CDATA[
201
  var dataForm = new VarienForm('form-validate', true);
202
+ <?php if ($this->getShowAddressFields()): ?>
203
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
204
  <?php endif; ?>
205
  //]]>
app/design/frontend/default/milano/template/pslogin/checkout/onepage/login.phtml CHANGED
@@ -37,8 +37,8 @@
37
  <div class="col2-set">
38
  <?php echo $this->getChildHtml('login_before')?>
39
  <div class="col-1">
40
- <h3><?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></h3>
41
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
@@ -48,15 +48,15 @@
48
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
49
  </ul>
50
  <?php endif; ?>
51
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
52
  <ul class="form-list">
53
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
54
  <li class="control">
55
- <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
56
  </li>
57
  <?php endif; ?>
58
  <li class="control">
59
- <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
60
  </li>
61
  </ul>
62
  <h4><?php echo $this->__('Register and save time!') ?></h4>
@@ -120,7 +120,7 @@
120
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
121
  </div>
122
 
123
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
124
  <div class="pslogin-spacer pslogin-clearfix">
125
  <table>
126
  <tr>
@@ -147,7 +147,7 @@
147
  }
148
  function onepageLogin(button)
149
  {
150
- if(loginForm.validator && loginForm.validator.validate()){
151
  button.disabled = true;
152
  loginForm.submit();
153
  }
@@ -161,7 +161,7 @@
161
  <script type="text/javascript">
162
  //<![CDATA[
163
  document.observe("dom:loaded", function() {
164
- if($('login:register')) {
165
  $('login:register').checked = true;
166
  checkout.setMethod();
167
  }
37
  <div class="col2-set">
38
  <?php echo $this->getChildHtml('login_before')?>
39
  <div class="col-1">
40
+ <h3><?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></h3>
41
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
48
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
49
  </ul>
50
  <?php endif; ?>
51
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
52
  <ul class="form-list">
53
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
54
  <li class="control">
55
+ <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
56
  </li>
57
  <?php endif; ?>
58
  <li class="control">
59
+ <input type="radio" name="checkout_method" id="login:register" value="register"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
60
  </li>
61
  </ul>
62
  <h4><?php echo $this->__('Register and save time!') ?></h4>
120
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
121
  </div>
122
 
123
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
124
  <div class="pslogin-spacer pslogin-clearfix">
125
  <table>
126
  <tr>
147
  }
148
  function onepageLogin(button)
149
  {
150
+ if (loginForm.validator && loginForm.validator.validate()){
151
  button.disabled = true;
152
  loginForm.submit();
153
  }
161
  <script type="text/javascript">
162
  //<![CDATA[
163
  document.observe("dom:loaded", function() {
164
+ if ($('login:register')) {
165
  $('login:register').checked = true;
166
  checkout.setMethod();
167
  }
app/design/frontend/default/milano/template/pslogin/customer/form/login.phtml CHANGED
@@ -83,7 +83,7 @@
83
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
84
  </div>
85
 
86
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
87
  <div class="pslogin-spacer pslogin-clearfix">
88
  <table>
89
  <tr>
83
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
84
  </div>
85
 
86
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
87
  <div class="pslogin-spacer pslogin-clearfix">
88
  <table>
89
  <tr>
app/design/frontend/default/milano/template/pslogin/customer/form/register.phtml CHANGED
@@ -39,7 +39,7 @@
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
 
42
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
43
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
44
  <div class="pslogin-spacer pslogin-clearfix">
45
  <table>
@@ -71,7 +71,7 @@
71
  <?php if ($this->isNewsletterEnabled()): ?>
72
  <li class="control">
73
  <div class="input-box">
74
- <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
75
  </div>
76
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
77
  </li>
@@ -90,7 +90,7 @@
90
  <?php endif ?>
91
  </ul>
92
  </div>
93
- <?php if($this->getShowAddressFields()): ?>
94
  <div class="fieldset">
95
  <input type="hidden" name="create_address" value="1" />
96
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
@@ -199,7 +199,7 @@
199
  <script type="text/javascript">
200
  //<![CDATA[
201
  var dataForm = new VarienForm('form-validate', true);
202
- <?php if($this->getShowAddressFields()): ?>
203
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
204
  <?php endif; ?>
205
  //]]>
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
 
42
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
43
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
44
  <div class="pslogin-spacer pslogin-clearfix">
45
  <table>
71
  <?php if ($this->isNewsletterEnabled()): ?>
72
  <li class="control">
73
  <div class="input-box">
74
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if ($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
75
  </div>
76
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
77
  </li>
90
  <?php endif ?>
91
  </ul>
92
  </div>
93
+ <?php if ($this->getShowAddressFields()): ?>
94
  <div class="fieldset">
95
  <input type="hidden" name="create_address" value="1" />
96
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
199
  <script type="text/javascript">
200
  //<![CDATA[
201
  var dataForm = new VarienForm('form-validate', true);
202
+ <?php if ($this->getShowAddressFields()): ?>
203
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
204
  <?php endif; ?>
205
  //]]>
app/design/frontend/fortis/default/template/pslogin/checkout/onepage/login.phtml CHANGED
@@ -37,8 +37,8 @@
37
  <div class="col2-set">
38
  <?php echo $this->getChildHtml('login_before')?>
39
  <div class="col-1">
40
- <h3><?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></h3>
41
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
@@ -48,15 +48,15 @@
48
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
49
  </ul>
50
  <?php endif; ?>
51
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
52
  <ul class="form-list">
53
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
54
  <li class="control">
55
- <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
56
  </li>
57
  <?php endif; ?>
58
  <li class="control">
59
- <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
60
  </li>
61
  </ul>
62
  <h4><?php echo $this->__('Register and save time!') ?></h4>
@@ -120,7 +120,7 @@
120
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
121
  </div>
122
 
123
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
124
  <div class="pslogin-spacer pslogin-clearfix">
125
  <table>
126
  <tr>
@@ -146,7 +146,7 @@
146
  }
147
  function onepageLogin(button)
148
  {
149
- if(loginForm.validator && loginForm.validator.validate()){
150
  button.disabled = true;
151
  loginForm.submit();
152
  }
@@ -160,7 +160,7 @@
160
  <script type="text/javascript">
161
  //<![CDATA[
162
  document.observe("dom:loaded", function() {
163
- if($('login:register')) {
164
  $('login:register').checked = true;
165
  checkout.setMethod();
166
  }
37
  <div class="col2-set">
38
  <?php echo $this->getChildHtml('login_before')?>
39
  <div class="col-1">
40
+ <h3><?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></h3>
41
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
48
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
49
  </ul>
50
  <?php endif; ?>
51
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
52
  <ul class="form-list">
53
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
54
  <li class="control">
55
+ <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
56
  </li>
57
  <?php endif; ?>
58
  <li class="control">
59
+ <input type="radio" name="checkout_method" id="login:register" value="register"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
60
  </li>
61
  </ul>
62
  <h4><?php echo $this->__('Register and save time!') ?></h4>
120
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
121
  </div>
122
 
123
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
124
  <div class="pslogin-spacer pslogin-clearfix">
125
  <table>
126
  <tr>
146
  }
147
  function onepageLogin(button)
148
  {
149
+ if (loginForm.validator && loginForm.validator.validate()){
150
  button.disabled = true;
151
  loginForm.submit();
152
  }
160
  <script type="text/javascript">
161
  //<![CDATA[
162
  document.observe("dom:loaded", function() {
163
+ if ($('login:register')) {
164
  $('login:register').checked = true;
165
  checkout.setMethod();
166
  }
app/design/frontend/fortis/default/template/pslogin/customer/form/login.phtml CHANGED
@@ -83,7 +83,7 @@
83
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
84
  </div>
85
 
86
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
87
  <div class="pslogin-spacer pslogin-clearfix">
88
  <table>
89
  <tr>
83
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
84
  </div>
85
 
86
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
87
  <div class="pslogin-spacer pslogin-clearfix">
88
  <table>
89
  <tr>
app/design/frontend/fortis/default/template/pslogin/customer/form/register.phtml CHANGED
@@ -38,7 +38,7 @@
38
  </div>
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
42
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
43
  <div class="pslogin-spacer pslogin-clearfix">
44
  <table>
@@ -69,7 +69,7 @@
69
  <?php if ($this->isNewsletterEnabled()): ?>
70
  <li class="control">
71
  <div class="input-box">
72
- <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
73
  </div>
74
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
75
  </li>
@@ -88,7 +88,7 @@
88
  <?php endif ?>
89
  </ul>
90
  </div>
91
- <?php if($this->getShowAddressFields()): ?>
92
  <div class="fieldset">
93
  <input type="hidden" name="create_address" value="1" />
94
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
@@ -197,7 +197,7 @@
197
  <script type="text/javascript">
198
  //<![CDATA[
199
  var dataForm = new VarienForm('form-validate', true);
200
- <?php if($this->getShowAddressFields()): ?>
201
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
202
  <?php endif; ?>
203
  //]]>
38
  </div>
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
42
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
43
  <div class="pslogin-spacer pslogin-clearfix">
44
  <table>
69
  <?php if ($this->isNewsletterEnabled()): ?>
70
  <li class="control">
71
  <div class="input-box">
72
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if ($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
73
  </div>
74
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
75
  </li>
88
  <?php endif ?>
89
  </ul>
90
  </div>
91
+ <?php if ($this->getShowAddressFields()): ?>
92
  <div class="fieldset">
93
  <input type="hidden" name="create_address" value="1" />
94
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
197
  <script type="text/javascript">
198
  //<![CDATA[
199
  var dataForm = new VarienForm('form-validate', true);
200
+ <?php if ($this->getShowAddressFields()): ?>
201
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
202
  <?php endif; ?>
203
  //]]>
app/design/frontend/gravdept/acumen/template/pslogin/checkout/onepage/login.phtml CHANGED
@@ -56,7 +56,7 @@
56
  <input name="context" type="hidden" value="checkout" />
57
  </form>
58
 
59
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
60
  <div class="pslogin-spacer pslogin-clearfix">
61
  <table>
62
  <tr>
@@ -74,20 +74,20 @@
74
  <h3><?php echo $this->__('Create An Account') ?></h3>
75
 
76
  <div class="stack-form">
77
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
78
  <ul class="form-list">
79
  <li class="control">
80
- <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Sales_Model_Quote::CHECKOUT_METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" />
81
  <label for="login:register"><?php echo $this->__('Register and checkout together') ?></label>
82
  </li>
83
  </ul>
84
 
85
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
86
  <h3><?php echo $this->__('Guest Checkout') ?></h3>
87
 
88
  <ul class="form-list">
89
  <li class="control">
90
- <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Sales_Model_Quote::CHECKOUT_METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" />
91
  <label for="login:guest"><?php echo $this->__('Checkout without registering') ?></label>
92
  </li>
93
  </ul>
@@ -123,7 +123,7 @@
123
  }
124
  function onepageLogin(button)
125
  {
126
- if(loginForm.validator && loginForm.validator.validate()){
127
  button.disabled = true;
128
  loginForm.submit();
129
  }
@@ -136,7 +136,7 @@
136
  <script type="text/javascript">
137
  //<![CDATA[
138
  document.observe("dom:loaded", function() {
139
- if($('login:register')) {
140
  $('login:register').checked = true;
141
  checkout.setMethod();
142
  }
56
  <input name="context" type="hidden" value="checkout" />
57
  </form>
58
 
59
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
60
  <div class="pslogin-spacer pslogin-clearfix">
61
  <table>
62
  <tr>
74
  <h3><?php echo $this->__('Create An Account') ?></h3>
75
 
76
  <div class="stack-form">
77
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
78
  <ul class="form-list">
79
  <li class="control">
80
+ <input type="radio" name="checkout_method" id="login:register" value="register"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Sales_Model_Quote::CHECKOUT_METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" />
81
  <label for="login:register"><?php echo $this->__('Register and checkout together') ?></label>
82
  </li>
83
  </ul>
84
 
85
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
86
  <h3><?php echo $this->__('Guest Checkout') ?></h3>
87
 
88
  <ul class="form-list">
89
  <li class="control">
90
+ <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Sales_Model_Quote::CHECKOUT_METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" />
91
  <label for="login:guest"><?php echo $this->__('Checkout without registering') ?></label>
92
  </li>
93
  </ul>
123
  }
124
  function onepageLogin(button)
125
  {
126
+ if (loginForm.validator && loginForm.validator.validate()){
127
  button.disabled = true;
128
  loginForm.submit();
129
  }
136
  <script type="text/javascript">
137
  //<![CDATA[
138
  document.observe("dom:loaded", function() {
139
+ if ($('login:register')) {
140
  $('login:register').checked = true;
141
  checkout.setMethod();
142
  }
app/design/frontend/gravdept/acumen/template/pslogin/customer/form/login.phtml CHANGED
@@ -60,7 +60,7 @@
60
  <?php endif; ?>
61
  </form>
62
 
63
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
64
  <div class="pslogin-spacer pslogin-clearfix">
65
  <table>
66
  <tr>
60
  <?php endif; ?>
61
  </form>
62
 
63
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
64
  <div class="pslogin-spacer pslogin-clearfix">
65
  <table>
66
  <tr>
app/design/frontend/gravdept/acumen/template/pslogin/customer/form/register.phtml CHANGED
@@ -25,7 +25,7 @@
25
  <?php echo $this->getChildHtml('form_fields_before')?>
26
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
27
 
28
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
29
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
30
  <div class="pslogin-spacer pslogin-clearfix">
31
  <table>
@@ -69,7 +69,7 @@
69
  </ul>
70
  </div>
71
 
72
- <?php if($this->getShowAddressFields()): ?>
73
  <div class="fieldset">
74
  <input type="hidden" name="create_address" value="1" />
75
 
@@ -188,7 +188,7 @@
188
 
189
  <?php if ($this->isNewsletterEnabled()): ?>
190
  <li class="control">
191
- <input type="checkbox" id="is_subscribed" name="is_subscribed" value="1" <?php if($this->getFormData()->getIsSubscribed()): ?>checked="checked"<?php endif; ?> class="checkbox" />
192
  <label for="is_subscribed"><?php echo $this->__('Subscribe to the newsletter to receive store news and offers via email.') ?></label>
193
  </li>
194
  <?php endif ?>
@@ -212,7 +212,7 @@
212
  <script type="text/javascript">
213
  //<![CDATA[
214
  var dataForm = new VarienForm('register-form', true);
215
- <?php if($this->getShowAddressFields()): ?>
216
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
217
  <?php endif; ?>
218
  //]]>
25
  <?php echo $this->getChildHtml('form_fields_before')?>
26
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
27
 
28
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
29
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
30
  <div class="pslogin-spacer pslogin-clearfix">
31
  <table>
69
  </ul>
70
  </div>
71
 
72
+ <?php if ($this->getShowAddressFields()): ?>
73
  <div class="fieldset">
74
  <input type="hidden" name="create_address" value="1" />
75
 
188
 
189
  <?php if ($this->isNewsletterEnabled()): ?>
190
  <li class="control">
191
+ <input type="checkbox" id="is_subscribed" name="is_subscribed" value="1" <?php if ($this->getFormData()->getIsSubscribed()): ?>checked="checked"<?php endif; ?> class="checkbox" />
192
  <label for="is_subscribed"><?php echo $this->__('Subscribe to the newsletter to receive store news and offers via email.') ?></label>
193
  </li>
194
  <?php endif ?>
212
  <script type="text/javascript">
213
  //<![CDATA[
214
  var dataForm = new VarienForm('register-form', true);
215
+ <?php if ($this->getShowAddressFields()): ?>
216
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
217
  <?php endif; ?>
218
  //]]>
app/design/frontend/shopper/default/template/pslogin/checkout/onepage/login.phtml CHANGED
@@ -38,11 +38,11 @@
38
 
39
  <div class="block block-checkout-register">
40
  <div class="block-title">
41
- <strong><span><?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></span></strong>
42
  </div>
43
  <div class="block-content">
44
 
45
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
46
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
47
  <?php else: ?>
48
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
@@ -52,15 +52,15 @@
52
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
53
  </ul>
54
  <?php endif; ?>
55
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
56
  <ul class="form-list">
57
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
58
  <li class="control">
59
- <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
60
  </li>
61
  <?php endif; ?>
62
  <li class="control">
63
- <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
64
  </li>
65
  </ul>
66
  <h4><?php echo $this->__('Register and save time!') ?></h4>
@@ -126,7 +126,7 @@
126
  <a href="<?php echo $this->getUrl('customer/account/forgotpassword') ?>" class="f-left"><?php echo $this->__('Forgot your password?') ?></a>
127
  </div>
128
 
129
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
130
  <div class="pslogin-spacer pslogin-clearfix">
131
  <table>
132
  <tr>
@@ -155,7 +155,7 @@
155
  }
156
  function onepageLogin(button)
157
  {
158
- if(loginForm.validator && loginForm.validator.validate()){
159
  button.disabled = true;
160
  loginForm.submit();
161
  }
@@ -169,7 +169,7 @@
169
  <script type="text/javascript">
170
  //<![CDATA[
171
  document.observe("dom:loaded", function() {
172
- if($('login:register')) {
173
  $('login:register').checked = true;
174
  checkout.setMethod();
175
  }
38
 
39
  <div class="block block-checkout-register">
40
  <div class="block-title">
41
+ <strong><span><?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></span></strong>
42
  </div>
43
  <div class="block-content">
44
 
45
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
46
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
47
  <?php else: ?>
48
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
52
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
53
  </ul>
54
  <?php endif; ?>
55
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
56
  <ul class="form-list">
57
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
58
  <li class="control">
59
+ <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
60
  </li>
61
  <?php endif; ?>
62
  <li class="control">
63
+ <input type="radio" name="checkout_method" id="login:register" value="register"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
64
  </li>
65
  </ul>
66
  <h4><?php echo $this->__('Register and save time!') ?></h4>
126
  <a href="<?php echo $this->getUrl('customer/account/forgotpassword') ?>" class="f-left"><?php echo $this->__('Forgot your password?') ?></a>
127
  </div>
128
 
129
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
130
  <div class="pslogin-spacer pslogin-clearfix">
131
  <table>
132
  <tr>
155
  }
156
  function onepageLogin(button)
157
  {
158
+ if (loginForm.validator && loginForm.validator.validate()){
159
  button.disabled = true;
160
  loginForm.submit();
161
  }
169
  <script type="text/javascript">
170
  //<![CDATA[
171
  document.observe("dom:loaded", function() {
172
+ if ($('login:register')) {
173
  $('login:register').checked = true;
174
  checkout.setMethod();
175
  }
app/design/frontend/shopper/default/template/pslogin/customer/form/login.phtml CHANGED
@@ -41,7 +41,7 @@
41
  <div class="block-title">
42
  <strong><span><?php echo $this->__('Sign In') ?></span></strong>
43
  </div>
44
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
45
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
46
  <div class="pslogin-spacer pslogin-clearfix">
47
  <table>
41
  <div class="block-title">
42
  <strong><span><?php echo $this->__('Sign In') ?></span></strong>
43
  </div>
44
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
45
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
46
  <div class="pslogin-spacer pslogin-clearfix">
47
  <table>
app/design/frontend/shopper/default/template/pslogin/customer/form/register.phtml CHANGED
@@ -42,7 +42,7 @@
42
  <div class="block-content">
43
  <?php echo $this->getChildHtml('form_fields_before')?>
44
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
45
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
46
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
47
  <div class="pslogin-spacer pslogin-clearfix">
48
  <table>
42
  <div class="block-content">
43
  <?php echo $this->getChildHtml('form_fields_before')?>
44
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
45
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
46
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
47
  <div class="pslogin-spacer pslogin-clearfix">
48
  <table>
app/design/frontend/ultimo/default/template/pslogin/checkout/onepage/login.phtml CHANGED
@@ -37,8 +37,8 @@
37
  <div class="">
38
  <?php echo $this->getChildHtml('login_before')?>
39
  <div class="grid12-6">
40
- <h3><?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></h3>
41
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
@@ -48,15 +48,15 @@
48
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
49
  </ul>
50
  <?php endif; ?>
51
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
52
  <ul class="form-list">
53
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
54
  <li class="control">
55
- <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
56
  </li>
57
  <?php endif; ?>
58
  <li class="control">
59
- <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
60
  </li>
61
  </ul>
62
  <h4><?php echo $this->__('Register and save time!') ?></h4>
@@ -117,7 +117,7 @@
117
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
118
  </div>
119
 
120
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
121
  <div class="pslogin-spacer pslogin-clearfix">
122
  <table>
123
  <tr>
@@ -151,7 +151,7 @@
151
  }
152
  function onepageLogin(button)
153
  {
154
- if(loginForm.validator && loginForm.validator.validate()){
155
  button.disabled = true;
156
  loginForm.submit();
157
  }
@@ -165,7 +165,7 @@
165
  <script type="text/javascript">
166
  //<![CDATA[
167
  document.observe("dom:loaded", function() {
168
- if($('login:register')) {
169
  $('login:register').checked = true;
170
  checkout.setMethod();
171
  }
37
  <div class="">
38
  <?php echo $this->getChildHtml('login_before')?>
39
  <div class="grid12-6">
40
+ <h3><?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('Checkout as a Guest or Register') ?><?php else: ?><?php echo $this->__('Register to Create an Account') ?><?php endif; ?></h3>
41
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
42
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
43
  <?php else: ?>
44
  <p><strong><?php echo $this->__('Register and save time!') ?></strong><br />
48
  <li><?php echo $this->__('Easy access to your order history and status') ?></li>
49
  </ul>
50
  <?php endif; ?>
51
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
52
  <ul class="form-list">
53
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
54
  <li class="control">
55
+ <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
56
  </li>
57
  <?php endif; ?>
58
  <li class="control">
59
+ <input type="radio" name="checkout_method" id="login:register" value="register"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
60
  </li>
61
  </ul>
62
  <h4><?php echo $this->__('Register and save time!') ?></h4>
117
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
118
  </div>
119
 
120
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
121
  <div class="pslogin-spacer pslogin-clearfix">
122
  <table>
123
  <tr>
151
  }
152
  function onepageLogin(button)
153
  {
154
+ if (loginForm.validator && loginForm.validator.validate()){
155
  button.disabled = true;
156
  loginForm.submit();
157
  }
165
  <script type="text/javascript">
166
  //<![CDATA[
167
  document.observe("dom:loaded", function() {
168
+ if ($('login:register')) {
169
  $('login:register').checked = true;
170
  checkout.setMethod();
171
  }
app/design/frontend/ultimo/default/template/pslogin/customer/form/login.phtml CHANGED
@@ -75,7 +75,7 @@
75
  <a href="<?php echo $this->getForgotPasswordUrl() ?>" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
76
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
77
  </div>
78
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
79
  <div class="pslogin-spacer pslogin-clearfix">
80
  <table>
81
  <tr>
75
  <a href="<?php echo $this->getForgotPasswordUrl() ?>" class="f-left"><?php echo $this->__('Forgot Your Password?') ?></a>
76
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
77
  </div>
78
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
79
  <div class="pslogin-spacer pslogin-clearfix">
80
  <table>
81
  <tr>
app/design/frontend/ultimo/default/template/pslogin/customer/form/register.phtml CHANGED
@@ -38,7 +38,7 @@
38
  </div>
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
42
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
43
  <div class="pslogin-spacer pslogin-clearfix">
44
  <table>
@@ -69,7 +69,7 @@
69
  <?php if ($this->isNewsletterEnabled()): ?>
70
  <li class="control">
71
  <div class="input-box">
72
- <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
73
  </div>
74
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
75
  </li>
@@ -88,7 +88,7 @@
88
  <?php endif ?>
89
  </ul>
90
  </div>
91
- <?php if($this->getShowAddressFields()): ?>
92
  <div class="fieldset">
93
  <input type="hidden" name="create_address" value="1" />
94
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
@@ -197,7 +197,7 @@
197
  <script type="text/javascript">
198
  //<![CDATA[
199
  var dataForm = new VarienForm('form-validate', true);
200
- <?php if($this->getShowAddressFields()): ?>
201
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
202
  <?php endif; ?>
203
  //]]>
38
  </div>
39
  <?php echo $this->getChildHtml('form_fields_before')?>
40
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
41
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
42
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
43
  <div class="pslogin-spacer pslogin-clearfix">
44
  <table>
69
  <?php if ($this->isNewsletterEnabled()): ?>
70
  <li class="control">
71
  <div class="input-box">
72
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if ($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
73
  </div>
74
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
75
  </li>
88
  <?php endif ?>
89
  </ul>
90
  </div>
91
+ <?php if ($this->getShowAddressFields()): ?>
92
  <div class="fieldset">
93
  <input type="hidden" name="create_address" value="1" />
94
  <h2 class="legend"><?php echo $this->__('Address Information') ?></h2>
197
  <script type="text/javascript">
198
  //<![CDATA[
199
  var dataForm = new VarienForm('form-validate', true);
200
+ <?php if ($this->getShowAddressFields()): ?>
201
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
202
  <?php endif; ?>
203
  //]]>
app/design/frontend/venedor/default/template/pslogin/checkout/onepage/login.phtml CHANGED
@@ -24,22 +24,22 @@ $spanClass = $venedor->getSpanClass();
24
  <?php echo $this->getChildHtml('login_before')?>
25
  <div class="<?php echo $rowClass ?>">
26
  <div class="<?php echo $spanClass ?>6">
27
- <h3><?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('New Customer') ?><?php else: ?><?php echo $this->__('New Customer') ?><?php endif; ?></h3>
28
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
29
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
30
  <?php else: ?>
31
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
32
  <p><?php echo $this->__('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
33
  <?php endif; ?>
34
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
35
  <ul class="form-list">
36
- <?php if( $this->getQuote()->isAllowedGuestCheckout() ): ?>
37
  <li class="control">
38
- <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
39
  </li>
40
  <?php endif; ?>
41
  <li class="control">
42
- <input type="radio" name="checkout_method" id="login:register" value="register"<?php if($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
43
  </li>
44
  </ul>
45
  <p><?php echo $this->__('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
@@ -92,7 +92,7 @@ $spanClass = $venedor->getSpanClass();
92
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
93
  </div>
94
 
95
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
96
  <div class="pslogin-spacer pslogin-clearfix">
97
  <table>
98
  <tr>
@@ -119,7 +119,7 @@ $spanClass = $venedor->getSpanClass();
119
  }
120
  function onepageLogin(button)
121
  {
122
- if(loginForm.validator && loginForm.validator.validate()){
123
  button.disabled = true;
124
  loginForm.submit();
125
  }
@@ -133,7 +133,7 @@ $spanClass = $venedor->getSpanClass();
133
  <script type="text/javascript">
134
  //<![CDATA[
135
  document.observe("dom:loaded", function() {
136
- if($('login:register')) {
137
  $('login:register').checked = true;
138
  checkout.setMethod();
139
  }
24
  <?php echo $this->getChildHtml('login_before')?>
25
  <div class="<?php echo $rowClass ?>">
26
  <div class="<?php echo $spanClass ?>6">
27
+ <h3><?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?><?php echo $this->__('New Customer') ?><?php else: ?><?php echo $this->__('New Customer') ?><?php endif; ?></h3>
28
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
29
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
30
  <?php else: ?>
31
  <p><?php echo $this->__('Register with us for future convenience:') ?></p>
32
  <p><?php echo $this->__('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
33
  <?php endif; ?>
34
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
35
  <ul class="form-list">
36
+ <?php if ( $this->getQuote()->isAllowedGuestCheckout() ): ?>
37
  <li class="control">
38
+ <input type="radio" name="checkout_method" id="login:guest" value="guest"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_GUEST): ?> checked="checked"<?php endif; ?> class="radio" /><label for="login:guest"><?php echo $this->__('Checkout as Guest') ?></label>
39
  </li>
40
  <?php endif; ?>
41
  <li class="control">
42
+ <input type="radio" name="checkout_method" id="login:register" value="register"<?php if ($this->getQuote()->getCheckoutMethod()==Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER || !$this->getQuote()->isAllowedGuestCheckout()): ?> checked="checked"<?php endif ?> class="radio" /><label for="login:register"><?php echo $this->__('Register') ?></label>
43
  </li>
44
  </ul>
45
  <p><?php echo $this->__('By creating an account with our store, you will be able to move through the checkout process faster, store multiple shipping addresses, view and track your orders in your account and more.') ?></p>
92
  <button type="submit" class="button" onclick="onepageLogin(this)"><span><span><?php echo $this->__('Login') ?></span></span></button>
93
  </div>
94
 
95
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
96
  <div class="pslogin-spacer pslogin-clearfix">
97
  <table>
98
  <tr>
119
  }
120
  function onepageLogin(button)
121
  {
122
+ if (loginForm.validator && loginForm.validator.validate()){
123
  button.disabled = true;
124
  loginForm.submit();
125
  }
133
  <script type="text/javascript">
134
  //<![CDATA[
135
  document.observe("dom:loaded", function() {
136
+ if ($('login:register')) {
137
  $('login:register').checked = true;
138
  checkout.setMethod();
139
  }
app/design/frontend/venedor/default/template/pslogin/customer/form/login.phtml CHANGED
@@ -82,7 +82,7 @@ $spanClass = $venedor->getSpanClass();
82
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
83
  </div>
84
 
85
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
86
  <div class="pslogin-spacer pslogin-clearfix">
87
  <table>
88
  <tr>
82
  <button type="submit" class="button" title="<?php echo $this->__('Login') ?>" name="send" id="send2"><span><span><?php echo $this->__('Login') ?></span></span></button>
83
  </div>
84
 
85
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('login') && Mage::helper('pslogin')->hasButtons()) : ?>
86
  <div class="pslogin-spacer pslogin-clearfix">
87
  <table>
88
  <tr>
app/design/frontend/venedor/default/template/pslogin/customer/form/register.phtml CHANGED
@@ -44,7 +44,7 @@ $spanClass = $venedor->getSpanClass();
44
  <?php echo $this->getChildHtml('form_fields_before')?>
45
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
46
 
47
- <?php if(Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
48
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
49
  <div class="pslogin-spacer pslogin-clearfix">
50
  <table>
@@ -62,7 +62,7 @@ $spanClass = $venedor->getSpanClass();
62
  <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
63
  <input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />
64
  <div class="<?php echo $rowClass ?>">
65
- <div class="<?php if($this->getShowAddressFields()) echo $spanClass.'6'; else echo $spanClass.'12'; ?>">
66
  <h2><?php echo $this->__('Your Personal Details') ?></h2>
67
  <ul class="form-list">
68
  <li class="fields">
@@ -108,14 +108,14 @@ $spanClass = $venedor->getSpanClass();
108
  <?php if ($this->isNewsletterEnabled()): ?>
109
  <h2><?php echo $this->__('Newsletter') ?></h2>
110
  <li class="control">
111
- <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
112
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
113
  </li>
114
  <?php endif ?>
115
  </ul>
116
  <?php echo $this->getChildHtml('persistent.remember.me.tooltip'); ?>
117
  </div>
118
- <?php if($this->getShowAddressFields()): ?>
119
  <div class="<?php echo $spanClass ?>6">
120
  <input type="hidden" name="create_address" value="1" />
121
  <h2><?php echo $this->__('Your Address') ?></h2>
@@ -206,7 +206,7 @@ $spanClass = $venedor->getSpanClass();
206
  <script type="text/javascript">
207
  //<![CDATA[
208
  var dataForm = new VarienForm('form-validate', true);
209
- <?php if($this->getShowAddressFields()): ?>
210
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
211
  <?php endif; ?>
212
  //]]>
44
  <?php echo $this->getChildHtml('form_fields_before')?>
45
  <?php echo $this->getMessagesBlock()->getGroupedHtml() ?>
46
 
47
+ <?php if (Mage::helper('pslogin')->modulePositionEnabled('register') && Mage::helper('pslogin')->hasButtons()) : ?>
48
  <?php echo $this->getChildHtml('pslogin_buttons'); ?>
49
  <div class="pslogin-spacer pslogin-clearfix">
50
  <table>
62
  <input type="hidden" name="error_url" value="<?php echo $this->getErrorUrl() ?>" />
63
  <input type="hidden" name="form_key" value="<?php echo Mage::getSingleton('core/session')->getFormKey() ?>" />
64
  <div class="<?php echo $rowClass ?>">
65
+ <div class="<?php if ($this->getShowAddressFields()) echo $spanClass.'6'; else echo $spanClass.'12'; ?>">
66
  <h2><?php echo $this->__('Your Personal Details') ?></h2>
67
  <ul class="form-list">
68
  <li class="fields">
108
  <?php if ($this->isNewsletterEnabled()): ?>
109
  <h2><?php echo $this->__('Newsletter') ?></h2>
110
  <li class="control">
111
+ <input type="checkbox" name="is_subscribed" title="<?php echo $this->__('Sign Up for Newsletter') ?>" value="1" id="is_subscribed"<?php if ($this->getFormData()->getIsSubscribed()): ?> checked="checked"<?php endif; ?> class="checkbox" />
112
  <label for="is_subscribed"><?php echo $this->__('Sign Up for Newsletter') ?></label>
113
  </li>
114
  <?php endif ?>
115
  </ul>
116
  <?php echo $this->getChildHtml('persistent.remember.me.tooltip'); ?>
117
  </div>
118
+ <?php if ($this->getShowAddressFields()): ?>
119
  <div class="<?php echo $spanClass ?>6">
120
  <input type="hidden" name="create_address" value="1" />
121
  <h2><?php echo $this->__('Your Address') ?></h2>
206
  <script type="text/javascript">
207
  //<![CDATA[
208
  var dataForm = new VarienForm('form-validate', true);
209
+ <?php if ($this->getShowAddressFields()): ?>
210
  new RegionUpdater('country', 'region', 'region_id', <?php echo $this->helper('directory')->getRegionJson() ?>, undefined, 'zip');
211
  <?php endif; ?>
212
  //]]>
app/etc/modules/Plumrocket_SocialLogin.xml CHANGED
@@ -4,7 +4,7 @@
4
  <Plumrocket_SocialLogin>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
- <version>1.4.2</version>
8
  <name>Twitter &amp; Facebook Login</name>
9
  <wiki>http://wiki.plumrocket.com/wiki/Magento_Twitter_and_Facebook_Login_v1.x_Extension</wiki>
10
  <depends>
4
  <Plumrocket_SocialLogin>
5
  <active>true</active>
6
  <codePool>community</codePool>
7
+ <version>1.4.3</version>
8
  <name>Twitter &amp; Facebook Login</name>
9
  <wiki>http://wiki.plumrocket.com/wiki/Magento_Twitter_and_Facebook_Login_v1.x_Extension</wiki>
10
  <depends>
{skin/adminhtml/default/default/js/plumrocket/pslogin → js/plumrocket}/jquery-1.10.2.min.js RENAMED
File without changes
package.xml CHANGED
@@ -1,20 +1,20 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Plumrocket_Twitter_Facebook_Login</name>
4
- <version>1.4.2</version>
5
  <stability>stable</stability>
6
  <license uri="http://wiki.plumrocket.net/wiki/EULA">End-user License Agreement</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Plumrocket Twitter &amp; Facebook Login v1.x was designed to help online store owners reach as many customers as possible. Increase sales, allow clients to use Magento Facebook Login &amp; Twitter Login free to quickly register &amp; place order.</summary>
10
  <description>Plumrocket Twitter &amp; Facebook Login is a free magento extension that will let online store owners benefit from all the social media advantages. It helps to increase conversion rates by allowing your customers quickly login and place order.</description>
11
- <notes>- Now Twitter returns real email address of the user, thus allowing to create a valid Magento account&#xD;
12
- - Fixed bug with "Foreign Key" value in the database and "MyISAM" storage engine&#xD;
13
- </notes>
14
  <authors><author><name>Plumrocket Team</name><user>plumrocket</user><email>support@plumrocket.com</email></author></authors>
15
- <date>2017-06-09</date>
16
- <time>12:10:12</time>
17
- <contents><target name="mageetc"><dir name="modules"><file name="Plumrocket_SocialLogin.xml" hash="1654069350d6748f1b8c1b782d8807d4"/></dir></target><target name="magecommunity"><dir name="Plumrocket"><dir name="SocialLogin"><dir name="Block"><file name="Buttons.php" hash="01e4058d3a9d2886d3d299108df5e39e"/><file name="General.php" hash="b91d1eec3ee0f4d70164230d8fcdf73c"/><dir name="Page"><dir name="Html"><file name="Header.php" hash="04650dafc2c33c69b6c7f346a9442e4f"/><file name="Welcome.php" hash="af7adad8c6c05dc6b51eb40e7d345519"/></dir></dir><file name="Share.php" hash="8447182219873dee7caaf620950157e4"/><dir name="System"><dir name="Config"><file name="Callbackurl.php" hash="18db5ba86eba4692530d674c556d198c"/><file name="Comingsoon.php" hash="dd6c106da378297ab6dd6724fe014281"/><file name="Notinstalled.php" hash="c263ec689c84b028dc4abdf06c7f0e5d"/><file name="Sortable.php" hash="2ae8f2236270e459223e10a84e123e07"/><file name="Version.php" hash="dcbf01e3752a5beb030b3aec752af6dd"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="5811ae1b5a77951e01d035e12a23de09"/><file name="Main.php" hash="91b6f4aec64610bca0254a3bf196f208"/></dir><dir name="Model"><file name="Account.php" hash="d2298a6df071c13522b13bf5b651e8c3"/><file name="Facebook.php" hash="d7c74d89f28e8e79347e82bd1ab1860e"/><dir name="Mysql4"><dir name="Account"><file name="Collection.php" hash="ca4211392ef934ce33391408092a9737"/></dir><file name="Account.php" hash="3fd0a1c891d31577d873247e17ce01ce"/></dir><file name="Observer.php" hash="1edb8fc92e3db12f7869eb102cb3d75e"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Redirectto.php" hash="c2bcb34b36ae88ce3bfdfe242463ba9a"/><file name="Shareurl.php" hash="a28729927bf70baa36ebade8e3919d3b"/></dir></dir></dir><file name="Twitter.php" hash="a614ea654956269f7d629ada8d169f13"/></dir><dir name="controllers"><file name="AccountController.php" hash="b7a54f64322798742dc596ec3a9e5140"/></dir><dir name="etc"><file name="adminhtml.xml" hash="9fedd9b73fc05aa653377d453ee382fe"/><file name="config.xml" hash="e19d98d180c32cc0b5e3bfb6e9c2fb6e"/><file name="system.xml" hash="b6de52469fbb381c2c76ea52d332d9ed"/></dir><dir name="sql"><dir name="pslogin_setup"><file name="install-1.0.0.php" hash="16b82ef934cd4da7ab42b10dedb4fc76"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="pslogin.xml" hash="56aa7aaa5c77d7f5c9e5b678d6534da4"/></dir><dir name="template"><dir name="pslogin"><dir name="system"><dir name="config"><file name="sortable.phtml" hash="398697865280d2f7d516645d62b1569d"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="pslogin.xml" hash="180b5cc113f7d0e813de3752e55f8128"/></dir><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="7e5f3be44a2e87b2e2a23fab1b4e0e7c"/><dir name="message"><file name="fake_email.phtml" hash="4df9c4f220333606f758d730b9246942"/></dir></dir></dir><dir name="customer"><dir name="form"><dir name="edit"><file name="fake_email.phtml" hash="28e38c06e2d833ff469e2c50f89d922c"/></dir><dir name="login"><file name="buttons.phtml" hash="8b861b6891438a4cf30a97d6084f0208"/></dir><file name="login.phtml" hash="8d95198607fdc776865eb0647d7743cd"/><dir name="register"><file name="buttons.phtml" hash="723d467b91d795204d8b60703e75ddcd"/><file name="sharedata.phtml" hash="21e3d413a95289b676033f6ca254f018"/><file name="sharepopup.phtml" hash="834dd13f11319f5fc58931463fdbd4f0"/></dir><file name="register.phtml" hash="99fe1381f5c6f03f771fd3523d1c166f"/></dir></dir><file name="js.phtml" hash="4f1716f6f3b5401a6b29865a189b4aec"/><dir name="page"><dir name="html"><file name="welcome.phtml" hash="de89796d6555f732aaad8099c012d3bb"/></dir></dir><file name="runjs.phtml" hash="b9c6df4f25e740b10edfd8ac503bfea1"/></dir></dir></dir></dir><dir name="ultimo"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="eca273c65a41c809cd7cb5328f190214"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="cf337e019cbe443f9d1cd0dbe3a145ad"/><file name="register.phtml" hash="bfd2cceeb59a70dea2682282533af959"/></dir></dir></dir></dir></dir></dir><dir name="shopper"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="23c109bf666a64637630e08fc40961b1"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="072d3a2449ca53d90153719ac01c8aae"/><file name="register.phtml" hash="ed6d1e11eff2a0213d72b9020f2ac29e"/></dir></dir></dir></dir></dir></dir><dir name="fortis"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="6b724ba7eb1714dfc390445c293581c1"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="249520a604a0220b6646506ebe573011"/><file name="register.phtml" hash="bfd2cceeb59a70dea2682282533af959"/></dir></dir></dir></dir></dir></dir><dir name="default"><dir name="blanco"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="db8fdf238e7d868a6e55ea34f80358c5"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="887c951966ab3540093c4c3a3832b331"/><file name="register.phtml" hash="3adc3800e8d855b49c286db74923c549"/></dir></dir></dir></dir></dir><dir name="buyshop"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="5c11e51aae76613c3405610914c014ad"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="1f7c8854dba5149030bc61b14d644614"/><file name="register.phtml" hash="3adc3800e8d855b49c286db74923c549"/></dir></dir></dir></dir></dir><dir name="milano"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="db8fdf238e7d868a6e55ea34f80358c5"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="887c951966ab3540093c4c3a3832b331"/><file name="register.phtml" hash="3adc3800e8d855b49c286db74923c549"/></dir></dir></dir></dir></dir></dir><dir name="gravdept"><dir name="acumen"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="c8e29c0cb2bf8d9da545f8829cfe9aec"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="bde5923d16bf48ca0aeb5a824ea6bbff"/><file name="register.phtml" hash="36a99a65114e61333fc96051f1b4da58"/></dir></dir></dir></dir></dir></dir><dir name="blacknwhite"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="customer"><dir name="form"><file name="login.phtml" hash="ef1349603e09651ac66755546dab3116"/><file name="register.phtml" hash="3adc3800e8d855b49c286db74923c549"/></dir></dir><dir name="onepagecheckout"><file name="login.phtml" hash="b188ec7d0fde220ce78e60d70af63557"/></dir></dir></dir></dir></dir><dir name="venedor"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="f079f7525326c990372324d02a3441ed"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="e5f3a79f1cc36d88807561bdd3461a8c"/><file name="register.phtml" hash="721e19772d4355070fd5b71b755be5b5"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Plumrocket_SocialLogin.csv" hash="7572e6085fbc927180c11c7fcb060389"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin.css" hash="dfadd9432d10a31cbd8259e545deace1"/></dir></dir></dir><dir name="images"><dir name="plumrocket"><dir name="pslogin"><file name="social_admin.png" hash="19216c1ff1ae19eb5dd26ad91ceb41e1"/></dir></dir></dir><dir name="js"><dir name="plumrocket"><dir name="pslogin"><file name="config.js" hash="a2c074dcd3c228afc2f144b8de8103c8"/><file name="jquery-1.10.2.min.js" hash="73042c373edc5879d6cdd9f569b9a234"/><file name="jquery-ui.min.js" hash="a0e434a17ebc022fb565e08fd446baef"/><file name="pslogin.js" hash="4770ef59857cd6eca2534d74e1dcf67c"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin-custom.css" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="pslogin.css" hash="f3fe50c81d7839350afde36b592f6e24"/></dir></dir></dir><dir name="images"><dir name="plumrocket"><dir name="pslogin"><file name="loader.gif" hash="013fe7725d917198766631696bbe40d1"/><file name="social.png" hash="901c23625074283724f0964fbe539ea3"/><file name="social_retina.png" hash="03afe2ccfdeda807eb6c3493cf6106a0"/></dir></dir></dir><dir name="js"><dir name="plumrocket"><dir name="pslogin"><file name="jquery-1.10.2.min.js" hash="73042c373edc5879d6cdd9f569b9a234"/><file name="pslogin.js" hash="fe0f64ab37951d5229aaea132cb73915"/></dir></dir></dir></dir></dir><dir name="shopper"><dir name="default"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin-custom.css" hash="56be3d4ce52002b666072f42515b12d8"/></dir></dir></dir></dir></dir><dir name="default"><dir name="buyshop"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin-custom.css" hash="08ae88742d436464733e060c95e50569"/></dir></dir></dir></dir></dir><dir name="venedor"><dir name="default"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin-custom.css" hash="2f95248995f04c7b831fd81bcc16b6d8"/></dir></dir></dir></dir></dir></dir></target></contents>
18
  <compatible/>
19
- <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php><package><name>Plumrocket_Base</name><channel>community</channel><min/><max/></package></required></dependencies>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>Plumrocket_Twitter_Facebook_Login</name>
4
+ <version>1.4.3</version>
5
  <stability>stable</stability>
6
  <license uri="http://wiki.plumrocket.net/wiki/EULA">End-user License Agreement</license>
7
  <channel>community</channel>
8
  <extends/>
9
  <summary>Plumrocket Twitter &amp; Facebook Login v1.x was designed to help online store owners reach as many customers as possible. Increase sales, allow clients to use Magento Facebook Login &amp; Twitter Login free to quickly register &amp; place order.</summary>
10
  <description>Plumrocket Twitter &amp; Facebook Login is a free magento extension that will let online store owners benefit from all the social media advantages. It helps to increase conversion rates by allowing your customers quickly login and place order.</description>
11
+ <notes>- Made code style improvements&#xD;
12
+ - Improve jQuery Loading&#xD;
13
+ - Added validation for customer prefix and suffix</notes>
14
  <authors><author><name>Plumrocket Team</name><user>plumrocket</user><email>support@plumrocket.com</email></author></authors>
15
+ <date>2017-07-31</date>
16
+ <time>15:01:18</time>
17
+ <contents><target name="mageetc"><dir name="modules"><file name="Plumrocket_SocialLogin.xml" hash="e5233fde400c221f908b9015d2f713db"/></dir></target><target name="magecommunity"><dir name="Plumrocket"><dir name="SocialLogin"><dir name="Block"><file name="Buttons.php" hash="64523cc003fad3e2479912a32e2e2b89"/><file name="General.php" hash="965ece9303600ede56ad250c77c50540"/><dir name="Page"><dir name="Html"><file name="Header.php" hash="00ec114383950aaa7bcf98e5bc360136"/><file name="Welcome.php" hash="7f543706ecb48cd671ef7b7a8238d9c6"/></dir></dir><file name="Share.php" hash="07673475d09e6240f406e6165855d480"/><dir name="System"><dir name="Config"><file name="Callbackurl.php" hash="d447ef3935732ab77278ad6c6b23dc17"/><file name="Comingsoon.php" hash="3ac2ac000e6e06f61aaa04dd1ecb9b9b"/><file name="Notinstalled.php" hash="0cb7abb0c3967de6f49049eec25193f0"/><file name="Sortable.php" hash="cabee632862a47085f77b22bb65966e4"/><file name="Version.php" hash="dcbf01e3752a5beb030b3aec752af6dd"/></dir></dir></dir><dir name="Helper"><file name="Data.php" hash="b460239c2442c82c936b7fe09db1108f"/><file name="Main.php" hash="d21c3b6000267e1472c6a3d2f83ba746"/></dir><dir name="Model"><file name="Account.php" hash="2070d23d36d94f0e177a0ab04653e9e4"/><file name="Facebook.php" hash="ae28630102352b823801b75d7d6674d8"/><dir name="Mysql4"><dir name="Account"><file name="Collection.php" hash="66cdaef7418a2599e1571309ae85ea14"/></dir><file name="Account.php" hash="3fd0a1c891d31577d873247e17ce01ce"/></dir><file name="Observer.php" hash="388d27b168432602d1b7befef76d71a2"/><dir name="System"><dir name="Config"><dir name="Source"><file name="Redirectto.php" hash="271fa67c36213c06a97c6b9dc91e94f7"/><file name="Shareurl.php" hash="3c6d6bcc778625b1d27b4783cc83e0a8"/></dir></dir></dir><file name="Twitter.php" hash="83556469fbd6634058cd74e6edcff07a"/></dir><dir name="controllers"><file name="AccountController.php" hash="46742b5eed8ceab51823c8450cd32675"/></dir><dir name="etc"><file name="adminhtml.xml" hash="9fedd9b73fc05aa653377d453ee382fe"/><file name="config.xml" hash="2c07b02138ed81ab94347b78e77b10d1"/><file name="system.xml" hash="b6de52469fbb381c2c76ea52d332d9ed"/></dir><dir name="sql"><dir name="pslogin_setup"><file name="install-1.0.0.php" hash="219a727dc34b0a6ab230f3dd90a0c914"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="pslogin.xml" hash="34f98f911c4b144d225c59a63b73498b"/></dir><dir name="template"><dir name="pslogin"><dir name="system"><dir name="config"><file name="sortable.phtml" hash="398697865280d2f7d516645d62b1569d"/></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="pslogin.xml" hash="6826a06212040f1b6dbe131e1373acd5"/></dir><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="e4c9fc148bc84b550f5e1e1eb4bbd84b"/><dir name="message"><file name="fake_email.phtml" hash="72deb6c9ccdbe721d10cabf48f1bff2f"/></dir></dir></dir><dir name="customer"><dir name="form"><dir name="edit"><file name="fake_email.phtml" hash="a54e99f05b64f7bc72452c9903465dd4"/></dir><dir name="login"><file name="buttons.phtml" hash="b6b15ef5d7376ebd447feea3de66f97e"/></dir><file name="login.phtml" hash="a0b3543289305f628b92184aec630e86"/><dir name="register"><file name="buttons.phtml" hash="fe25c06f495a196f30140b1fadc36767"/><file name="sharedata.phtml" hash="21e3d413a95289b676033f6ca254f018"/><file name="sharepopup.phtml" hash="c9b7574e34910fd00e56911779e78ed6"/></dir><file name="register.phtml" hash="201710ceddcd28f8b237e828e50a1b2e"/></dir></dir><file name="js.phtml" hash="c2ca0821ca824c4b669e30b03ea6b3c8"/><dir name="page"><dir name="html"><file name="welcome.phtml" hash="d17cf019c704c0fcc9166fefe6745b52"/></dir></dir><file name="runjs.phtml" hash="b08b290079ae7790f2348421c3de7465"/></dir></dir></dir></dir><dir name="ultimo"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="61c3e57ced98d784503c4286f4b40739"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="989e8f79b5e6938c8991aa0e8ba5e829"/><file name="register.phtml" hash="ab1398baee2f244c55162928b318f5df"/></dir></dir></dir></dir></dir></dir><dir name="shopper"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="58731de4fbc162ec4c81c055a2c4e2bd"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="0f4b9fb0ce3dd7c79bf5e86eb24c487c"/><file name="register.phtml" hash="393530864fe4d36f0854cc295a425880"/></dir></dir></dir></dir></dir></dir><dir name="fortis"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="068b3f6252d1947aa94516f67957fcf2"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="86dcc620c504a9acc9decbe1b5c3492e"/><file name="register.phtml" hash="ab1398baee2f244c55162928b318f5df"/></dir></dir></dir></dir></dir></dir><dir name="default"><dir name="blanco"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="dca082d0bfb09438fb6d31b5d6f99303"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="42466c8964b9dbfcb475461999e8599b"/><file name="register.phtml" hash="520e544248a712f2d5c2dbb5319834f8"/></dir></dir></dir></dir></dir><dir name="buyshop"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="b9b4d6e71758307ae2611d03ada2ef2d"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="3b20f6b7cca3810c1235ffff64848a75"/><file name="register.phtml" hash="520e544248a712f2d5c2dbb5319834f8"/></dir></dir></dir></dir></dir><dir name="milano"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="dca082d0bfb09438fb6d31b5d6f99303"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="42466c8964b9dbfcb475461999e8599b"/><file name="register.phtml" hash="520e544248a712f2d5c2dbb5319834f8"/></dir></dir></dir></dir></dir></dir><dir name="gravdept"><dir name="acumen"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="cf641bfe2a818b2ee79c51c039aa64a7"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="bd013ca7dbe9f900e5e1c9aaba196c6b"/><file name="register.phtml" hash="42e4912bdfcde668c426c625ce44dc5e"/></dir></dir></dir></dir></dir></dir><dir name="blacknwhite"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="customer"><dir name="form"><file name="login.phtml" hash="e9e203a6ce0edf3d28d676985f05215a"/><file name="register.phtml" hash="520e544248a712f2d5c2dbb5319834f8"/></dir></dir><dir name="onepagecheckout"><file name="login.phtml" hash="7c182963aba391e65eadc05192aa8c07"/></dir></dir></dir></dir></dir><dir name="venedor"><dir name="default"><dir name="template"><dir name="pslogin"><dir name="checkout"><dir name="onepage"><file name="login.phtml" hash="620eab289dde33a51e4eb40ae77f72d9"/></dir></dir><dir name="customer"><dir name="form"><file name="login.phtml" hash="49695f8cc9cefaf70b244cfb375c6a6f"/><file name="register.phtml" hash="0432970f04cbbc05c5986c51699c7bc4"/></dir></dir></dir></dir></dir></dir></dir></target><target name="magelocale"><dir name="en_US"><file name="Plumrocket_SocialLogin.csv" hash="7572e6085fbc927180c11c7fcb060389"/></dir></target><target name="mageskin"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin.css" hash="1afdeff1a6c4af6cfb170b2d060a60b9"/></dir></dir></dir><dir name="images"><dir name="plumrocket"><dir name="pslogin"><file name="social_admin.png" hash="19216c1ff1ae19eb5dd26ad91ceb41e1"/></dir></dir></dir><dir name="js"><dir name="plumrocket"><dir name="pslogin"><file name="config.js" hash="a2c074dcd3c228afc2f144b8de8103c8"/><file name="jquery-ui.min.js" hash="a0e434a17ebc022fb565e08fd446baef"/><file name="pslogin.js" hash="4770ef59857cd6eca2534d74e1dcf67c"/></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin-custom.css" hash="d41d8cd98f00b204e9800998ecf8427e"/><file name="pslogin.css" hash="f3fe50c81d7839350afde36b592f6e24"/></dir></dir></dir><dir name="images"><dir name="plumrocket"><dir name="pslogin"><file name="loader.gif" hash="013fe7725d917198766631696bbe40d1"/><file name="social.png" hash="901c23625074283724f0964fbe539ea3"/><file name="social_retina.png" hash="03afe2ccfdeda807eb6c3493cf6106a0"/></dir></dir></dir><dir name="js"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin.js" hash="fe0f64ab37951d5229aaea132cb73915"/></dir></dir></dir></dir></dir><dir name="shopper"><dir name="default"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin-custom.css" hash="56be3d4ce52002b666072f42515b12d8"/></dir></dir></dir></dir></dir><dir name="default"><dir name="buyshop"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin-custom.css" hash="08ae88742d436464733e060c95e50569"/></dir></dir></dir></dir></dir><dir name="venedor"><dir name="default"><dir name="css"><dir name="plumrocket"><dir name="pslogin"><file name="pslogin-custom.css" hash="2f95248995f04c7b831fd81bcc16b6d8"/></dir></dir></dir></dir></dir></dir></target><target name="mageweb"><dir name="js"><dir name="plumrocket"><file name="jquery-1.10.2.min.js" hash="73042c373edc5879d6cdd9f569b9a234"/></dir></dir></target></contents>
18
  <compatible/>
19
+ <dependencies><required><php><min>5.2.0</min><max>7.1.0</max></php><package><name>Plumrocket_Base</name><channel>community</channel><min/><max/></package></required></dependencies>
20
  </package>
skin/adminhtml/default/default/css/plumrocket/pslogin/pslogin.css CHANGED
@@ -1,103 +1,103 @@
1
  .social-td {
2
- padding-left: 5px;
3
- padding-top: 5px;
4
  }
5
 
6
  #sortable-visible {
7
- background-color: #FFFFFF;
8
  }
9
 
10
  #sortable-hidden {
11
- background: #EAEAEA;
12
- margin-left: 2%;
13
  }
14
 
15
  .soc-networks {
16
- list-style-type: none;
17
- margin: 0;
18
- padding: 0;
19
- float: left;
20
- padding: 0px;
21
- width: 49%;
22
- box-sizing: border-box;
23
- height: 110px;
24
- overflow-x: hidden;
25
- overflow-y: auto;
26
- border: 1px solid #aaa;
27
  }
28
 
29
  .soc-networks.ui-sortable-disabled {
30
- background: #EAEAEA!important;
31
- color: #8E8E8E;
32
  }
33
 
34
  .soc-networks.ui-sortable-disabled li:hover {
35
- background: #EAEAEA!important;
36
- cursor: auto;
37
  }
38
 
39
  .soc-networks.ui-sortable-disabled li .soc-li-icon {
40
- opacity: 0.6;
41
- filter: aplha(opacity=60);
42
  }
43
 
44
  .soc-networks li.ui-sortable-helper {
45
- border: 1px solid #CCC;
46
  }
47
 
48
  .div-visible {
49
- width: 49%;
50
- float: left;
51
- font-size: 13px;
52
  }
53
 
54
  .div-hidden {
55
- width: 49%;
56
- float: left;
57
- margin-left: 2%;
58
- font-size: 13px;
59
  }
60
 
61
  .soc-networks li {
62
- line-height: 30px;
63
- border-bottom: 1px solid #CCC;
64
- font-size: 13px;
65
  }
66
 
67
  .soc-networks li:hover {
68
- background: #F6F6F6;
69
- cursor: pointer;
70
  }
71
 
72
  .soc-networks li img {
73
- float: left;
74
- margin-right: 5px;
75
- height: 16px;
76
  }
77
 
78
  #sortable-visible li, #sortable-hidden li, #sortable3 li {
79
- margin: 0px;
80
- padding: 5px;
81
- font-size: 13px;
82
- line-height: 16px;
83
  }
84
 
85
  .pslogin-form ul li .soc-li-icon {
86
- background: url('../../../images/plumrocket/pslogin/social_admin.png');
87
- display: block;
88
- float: left;
89
- width: 16px;
90
- height: 16px;
91
- margin: 0 5px 0 0;
92
- padding: 0;
93
- box-sizing: border-box;
94
  }
95
 
96
  .pslogin-form ul li .soc-li-text {
97
- display: block;
98
- float: left;
99
- height: 16px;
100
- line-height: 16px;
101
  }
102
 
103
 
@@ -282,20 +282,15 @@
282
 
283
 
284
  .entry-edit-head.pslogin-notinstalled-section {
285
- background: #BDBDBD;
286
  }
287
 
288
  .entry-edit-head.pslogin-notinstalled-section a span.pslogin-notinstalled-title {
289
- font-weight: 400;
290
- padding-left: 5px;
291
- /*color: #ea7601;*/
292
  }
293
 
294
- /*.entry-edit-head.pslogin-notinstalled-section a:hover .pslogin-notinstalled-title {
295
- text-decoration: underline;
296
- }*/
297
-
298
  .pslogin-notinstalled-section .entry-edit-head {
299
- background: none;
300
  }
301
 
1
  .social-td {
2
+ padding-left: 5px;
3
+ padding-top: 5px;
4
  }
5
 
6
  #sortable-visible {
7
+ background-color: #FFFFFF;
8
  }
9
 
10
  #sortable-hidden {
11
+ background: #EAEAEA;
12
+ margin-left: 2%;
13
  }
14
 
15
  .soc-networks {
16
+ list-style-type: none;
17
+ margin: 0;
18
+ padding: 0;
19
+ float: left;
20
+ padding: 0px;
21
+ width: 49%;
22
+ box-sizing: border-box;
23
+ height: 110px;
24
+ overflow-x: hidden;
25
+ overflow-y: auto;
26
+ border: 1px solid #aaa;
27
  }
28
 
29
  .soc-networks.ui-sortable-disabled {
30
+ background: #EAEAEA!important;
31
+ color: #8E8E8E;
32
  }
33
 
34
  .soc-networks.ui-sortable-disabled li:hover {
35
+ background: #EAEAEA!important;
36
+ cursor: auto;
37
  }
38
 
39
  .soc-networks.ui-sortable-disabled li .soc-li-icon {
40
+ opacity: 0.6;
41
+ filter: aplha(opacity=60);
42
  }
43
 
44
  .soc-networks li.ui-sortable-helper {
45
+ border: 1px solid #CCC;
46
  }
47
 
48
  .div-visible {
49
+ width: 49%;
50
+ float: left;
51
+ font-size: 13px;
52
  }
53
 
54
  .div-hidden {
55
+ width: 49%;
56
+ float: left;
57
+ margin-left: 2%;
58
+ font-size: 13px;
59
  }
60
 
61
  .soc-networks li {
62
+ line-height: 30px;
63
+ border-bottom: 1px solid #CCC;
64
+ font-size: 13px;
65
  }
66
 
67
  .soc-networks li:hover {
68
+ background: #F6F6F6;
69
+ cursor: pointer;
70
  }
71
 
72
  .soc-networks li img {
73
+ float: left;
74
+ margin-right: 5px;
75
+ height: 16px;
76
  }
77
 
78
  #sortable-visible li, #sortable-hidden li, #sortable3 li {
79
+ margin: 0px;
80
+ padding: 5px;
81
+ font-size: 13px;
82
+ line-height: 16px;
83
  }
84
 
85
  .pslogin-form ul li .soc-li-icon {
86
+ background: url('../../../images/plumrocket/pslogin/social_admin.png');
87
+ display: block;
88
+ float: left;
89
+ width: 16px;
90
+ height: 16px;
91
+ margin: 0 5px 0 0;
92
+ padding: 0;
93
+ box-sizing: border-box;
94
  }
95
 
96
  .pslogin-form ul li .soc-li-text {
97
+ display: block;
98
+ float: left;
99
+ height: 16px;
100
+ line-height: 16px;
101
  }
102
 
103
 
282
 
283
 
284
  .entry-edit-head.pslogin-notinstalled-section {
285
+ background: #BDBDBD;
286
  }
287
 
288
  .entry-edit-head.pslogin-notinstalled-section a span.pslogin-notinstalled-title {
289
+ font-weight: 400;
290
+ padding-left: 5px;
 
291
  }
292
 
 
 
 
 
293
  .pslogin-notinstalled-section .entry-edit-head {
294
+ background: none;
295
  }
296
 
skin/frontend/base/default/js/plumrocket/pslogin/jquery-1.10.2.min.js DELETED
@@ -1,15 +0,0 @@
1
- /*! jQuery v1.10.2 | (c) 2005, 2013 jQuery Foundation, Inc. | jquery.org/license */
2
- ;if (typeof(pjQuery_1_10_2) == 'undefined'
3
- || !((typeof(pjQuery_1_10_2) == 'function') && ('fn' in pjQuery_1_10_2))
4
- || !(pjQuery_1_10_2.fn.jquery.indexOf('1.10.2') === 0)
5
- ) {
6
-
7
- var deepNoConfict = typeof(jQuery) != 'undefined';
8
-
9
- (function(e,t){var n,r,i=typeof t,o=e.location,a=e.document,s=a.documentElement,l=e.jQuery,u=e.$,c={},p=[],f="1.10.2",d=p.concat,h=p.push,g=p.slice,m=p.indexOf,y=c.toString,v=c.hasOwnProperty,b=f.trim,x=function(e,t){return new x.fn.init(e,t,r)},w=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,T=/\S+/g,C=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,N=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,k=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,E=/^[\],:{}\s]*$/,S=/(?:^|:|,)(?:\s*\[)+/g,A=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,j=/"[^"\\\r\n]*"|true|false|null|-?(?:\d+\.|)\d+(?:[eE][+-]?\d+|)/g,D=/^-ms-/,L=/-([\da-z])/gi,H=function(e,t){return t.toUpperCase()},q=function(e){(a.addEventListener||"load"===e.type||"complete"===a.readyState)&&(_(),x.ready())},_=function(){a.addEventListener?(a.removeEventListener("DOMContentLoaded",q,!1),e.removeEventListener("load",q,!1)):(a.detachEvent("onreadystatechange",q),e.detachEvent("onload",q))};x.fn=x.prototype={jquery:f,constructor:x,init:function(e,n,r){var i,o;if(!e)return this;if("string"==typeof e){if(i="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:N.exec(e),!i||!i[1]&&n)return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e);if(i[1]){if(n=n instanceof x?n[0]:n,x.merge(this,x.parseHTML(i[1],n&&n.nodeType?n.ownerDocument||n:a,!0)),k.test(i[1])&&x.isPlainObject(n))for(i in n)x.isFunction(this[i])?this[i](n[i]):this.attr(i,n[i]);return this}if(o=a.getElementById(i[2]),o&&o.parentNode){if(o.id!==i[2])return r.find(e);this.length=1,this[0]=o}return this.context=a,this.selector=e,this}return e.nodeType?(this.context=this[0]=e,this.length=1,this):x.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),x.makeArray(e,this))},selector:"",length:0,toArray:function(){return g.call(this)},get:function(e){return null==e?this.toArray():0>e?this[this.length+e]:this[e]},pushStack:function(e){var t=x.merge(this.constructor(),e);return t.prevObject=this,t.context=this.context,t},each:function(e,t){return x.each(this,e,t)},ready:function(e){return x.ready.promise().done(e),this},slice:function(){return this.pushStack(g.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(e){var t=this.length,n=+e+(0>e?t:0);return this.pushStack(n>=0&&t>n?[this[n]]:[])},map:function(e){return this.pushStack(x.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:h,sort:[].sort,splice:[].splice},x.fn.init.prototype=x.fn,x.extend=x.fn.extend=function(){var e,n,r,i,o,a,s=arguments[0]||{},l=1,u=arguments.length,c=!1;for("boolean"==typeof s&&(c=s,s=arguments[1]||{},l=2),"object"==typeof s||x.isFunction(s)||(s={}),u===l&&(s=this,--l);u>l;l++)if(null!=(o=arguments[l]))for(i in o)e=s[i],r=o[i],s!==r&&(c&&r&&(x.isPlainObject(r)||(n=x.isArray(r)))?(n?(n=!1,a=e&&x.isArray(e)?e:[]):a=e&&x.isPlainObject(e)?e:{},s[i]=x.extend(c,a,r)):r!==t&&(s[i]=r));return s},x.extend({expando:"jQuery"+(f+Math.random()).replace(/\D/g,""),noConflict:function(t){return e.$===x&&(e.$=u),t&&e.jQuery===x&&(e.jQuery=l),x},isReady:!1,readyWait:1,holdReady:function(e){e?x.readyWait++:x.ready(!0)},ready:function(e){if(e===!0?!--x.readyWait:!x.isReady){if(!a.body)return setTimeout(x.ready);x.isReady=!0,e!==!0&&--x.readyWait>0||(n.resolveWith(a,[x]),x.fn.trigger&&x(a).trigger("ready").off("ready"))}},isFunction:function(e){return"function"===x.type(e)},isArray:Array.isArray||function(e){return"array"===x.type(e)},isWindow:function(e){return null!=e&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?c[y.call(e)]||"object":typeof e},isPlainObject:function(e){var n;if(!e||"object"!==x.type(e)||e.nodeType||x.isWindow(e))return!1;try{if(e.constructor&&!v.call(e,"constructor")&&!v.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(r){return!1}if(x.support.ownLast)for(n in e)return v.call(e,n);for(n in e);return n===t||v.call(e,n)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw Error(e)},parseHTML:function(e,t,n){if(!e||"string"!=typeof e)return null;"boolean"==typeof t&&(n=t,t=!1),t=t||a;var r=k.exec(e),i=!n&&[];return r?[t.createElement(r[1])]:(r=x.buildFragment([e],t,i),i&&x(i).remove(),x.merge([],r.childNodes))},parseJSON:function(n){return e.JSON&&e.JSON.parse?e.JSON.parse(n):null===n?n:"string"==typeof n&&(n=x.trim(n),n&&E.test(n.replace(A,"@").replace(j,"]").replace(S,"")))?Function("return "+n)():(x.error("Invalid JSON: "+n),t)},parseXML:function(n){var r,i;if(!n||"string"!=typeof n)return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(o){r=t}return r&&r.documentElement&&!r.getElementsByTagName("parsererror").length||x.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&x.trim(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(D,"ms-").replace(L,H)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,t,n){var r,i=0,o=e.length,a=M(e);if(n){if(a){for(;o>i;i++)if(r=t.apply(e[i],n),r===!1)break}else for(i in e)if(r=t.apply(e[i],n),r===!1)break}else if(a){for(;o>i;i++)if(r=t.call(e[i],i,e[i]),r===!1)break}else for(i in e)if(r=t.call(e[i],i,e[i]),r===!1)break;return e},trim:b&&!b.call("\ufeff\u00a0")?function(e){return null==e?"":b.call(e)}:function(e){return null==e?"":(e+"").replace(C,"")},makeArray:function(e,t){var n=t||[];return null!=e&&(M(Object(e))?x.merge(n,"string"==typeof e?[e]:e):h.call(n,e)),n},inArray:function(e,t,n){var r;if(t){if(m)return m.call(t,e,n);for(r=t.length,n=n?0>n?Math.max(0,r+n):n:0;r>n;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,o=0;if("number"==typeof r)for(;r>o;o++)e[i++]=n[o];else while(n[o]!==t)e[i++]=n[o++];return e.length=i,e},grep:function(e,t,n){var r,i=[],o=0,a=e.length;for(n=!!n;a>o;o++)r=!!t(e[o],o),n!==r&&i.push(e[o]);return i},map:function(e,t,n){var r,i=0,o=e.length,a=M(e),s=[];if(a)for(;o>i;i++)r=t(e[i],i,n),null!=r&&(s[s.length]=r);else for(i in e)r=t(e[i],i,n),null!=r&&(s[s.length]=r);return d.apply([],s)},guid:1,proxy:function(e,n){var r,i,o;return"string"==typeof n&&(o=e[n],n=e,e=o),x.isFunction(e)?(r=g.call(arguments,2),i=function(){return e.apply(n||this,r.concat(g.call(arguments)))},i.guid=e.guid=e.guid||x.guid++,i):t},access:function(e,n,r,i,o,a,s){var l=0,u=e.length,c=null==r;if("object"===x.type(r)){o=!0;for(l in r)x.access(e,n,l,r[l],!0,a,s)}else if(i!==t&&(o=!0,x.isFunction(i)||(s=!0),c&&(s?(n.call(e,i),n=null):(c=n,n=function(e,t,n){return c.call(x(e),n)})),n))for(;u>l;l++)n(e[l],r,s?i:i.call(e[l],l,n(e[l],r)));return o?e:c?n.call(e):u?n(e[0],r):a},now:function(){return(new Date).getTime()},swap:function(e,t,n,r){var i,o,a={};for(o in t)a[o]=e.style[o],e.style[o]=t[o];i=n.apply(e,r||[]);for(o in t)e.style[o]=a[o];return i}}),x.ready.promise=function(t){if(!n)if(n=x.Deferred(),"complete"===a.readyState)setTimeout(x.ready);else if(a.addEventListener)a.addEventListener("DOMContentLoaded",q,!1),e.addEventListener("load",q,!1);else{a.attachEvent("onreadystatechange",q),e.attachEvent("onload",q);var r=!1;try{r=null==e.frameElement&&a.documentElement}catch(i){}r&&r.doScroll&&function o(){if(!x.isReady){try{r.doScroll("left")}catch(e){return setTimeout(o,50)}_(),x.ready()}}()}return n.promise(t)},x.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(e,t){c["[object "+t+"]"]=t.toLowerCase()});function M(e){var t=e.length,n=x.type(e);return x.isWindow(e)?!1:1===e.nodeType&&t?!0:"array"===n||"function"!==n&&(0===t||"number"==typeof t&&t>0&&t-1 in e)}r=x(a),function(e,t){var n,r,i,o,a,s,l,u,c,p,f,d,h,g,m,y,v,b="sizzle"+-new Date,w=e.document,T=0,C=0,N=st(),k=st(),E=st(),S=!1,A=function(e,t){return e===t?(S=!0,0):0},j=typeof t,D=1<<31,L={}.hasOwnProperty,H=[],q=H.pop,_=H.push,M=H.push,O=H.slice,F=H.indexOf||function(e){var t=0,n=this.length;for(;n>t;t++)if(this[t]===e)return t;return-1},B="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",P="[\\x20\\t\\r\\n\\f]",R="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",W=R.replace("w","w#"),$="\\["+P+"*("+R+")"+P+"*(?:([*^$|!~]?=)"+P+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+W+")|)|)"+P+"*\\]",I=":("+R+")(?:\\(((['\"])((?:\\\\.|[^\\\\])*?)\\3|((?:\\\\.|[^\\\\()[\\]]|"+$.replace(3,8)+")*)|.*)\\)|)",z=RegExp("^"+P+"+|((?:^|[^\\\\])(?:\\\\.)*)"+P+"+$","g"),X=RegExp("^"+P+"*,"+P+"*"),U=RegExp("^"+P+"*([>+~]|"+P+")"+P+"*"),V=RegExp(P+"*[+~]"),Y=RegExp("="+P+"*([^\\]'\"]*)"+P+"*\\]","g"),J=RegExp(I),G=RegExp("^"+W+"$"),Q={ID:RegExp("^#("+R+")"),CLASS:RegExp("^\\.("+R+")"),TAG:RegExp("^("+R.replace("w","w*")+")"),ATTR:RegExp("^"+$),PSEUDO:RegExp("^"+I),CHILD:RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+P+"*(even|odd|(([+-]|)(\\d*)n|)"+P+"*(?:([+-]|)"+P+"*(\\d+)|))"+P+"*\\)|)","i"),bool:RegExp("^(?:"+B+")$","i"),needsContext:RegExp("^"+P+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+P+"*((?:-\\d)?\\d*)"+P+"*\\)|)(?=[^-]|$)","i")},K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,et=/^(?:input|select|textarea|button)$/i,tt=/^h\d$/i,nt=/'|\\/g,rt=RegExp("\\\\([\\da-f]{1,6}"+P+"?|("+P+")|.)","ig"),it=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:0>r?String.fromCharCode(r+65536):String.fromCharCode(55296|r>>10,56320|1023&r)};try{M.apply(H=O.call(w.childNodes),w.childNodes),H[w.childNodes.length].nodeType}catch(ot){M={apply:H.length?function(e,t){_.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function at(e,t,n,i){var o,a,s,l,u,c,d,m,y,x;if((t?t.ownerDocument||t:w)!==f&&p(t),t=t||f,n=n||[],!e||"string"!=typeof e)return n;if(1!==(l=t.nodeType)&&9!==l)return[];if(h&&!i){if(o=Z.exec(e))if(s=o[1]){if(9===l){if(a=t.getElementById(s),!a||!a.parentNode)return n;if(a.id===s)return n.push(a),n}else if(t.ownerDocument&&(a=t.ownerDocument.getElementById(s))&&v(t,a)&&a.id===s)return n.push(a),n}else{if(o[2])return M.apply(n,t.getElementsByTagName(e)),n;if((s=o[3])&&r.getElementsByClassName&&t.getElementsByClassName)return M.apply(n,t.getElementsByClassName(s)),n}if(r.qsa&&(!g||!g.test(e))){if(m=d=b,y=t,x=9===l&&e,1===l&&"object"!==t.nodeName.toLowerCase()){c=mt(e),(d=t.getAttribute("id"))?m=d.replace(nt,"\\$&"):t.setAttribute("id",m),m="[id='"+m+"'] ",u=c.length;while(u--)c[u]=m+yt(c[u]);y=V.test(e)&&t.parentNode||t,x=c.join(",")}if(x)try{return M.apply(n,y.querySelectorAll(x)),n}catch(T){}finally{d||t.removeAttribute("id")}}}return kt(e.replace(z,"$1"),t,n,i)}function st(){var e=[];function t(n,r){return e.push(n+=" ")>o.cacheLength&&delete t[e.shift()],t[n]=r}return t}function lt(e){return e[b]=!0,e}function ut(e){var t=f.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function ct(e,t){var n=e.split("|"),r=e.length;while(r--)o.attrHandle[n[r]]=t}function pt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||D)-(~e.sourceIndex||D);if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function ft(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function dt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return lt(function(t){return t=+t,lt(function(n,r){var i,o=e([],n.length,t),a=o.length;while(a--)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}s=at.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?"HTML"!==t.nodeName:!1},r=at.support={},p=at.setDocument=function(e){var n=e?e.ownerDocument||e:w,i=n.defaultView;return n!==f&&9===n.nodeType&&n.documentElement?(f=n,d=n.documentElement,h=!s(n),i&&i.attachEvent&&i!==i.top&&i.attachEvent("onbeforeunload",function(){p()}),r.attributes=ut(function(e){return e.className="i",!e.getAttribute("className")}),r.getElementsByTagName=ut(function(e){return e.appendChild(n.createComment("")),!e.getElementsByTagName("*").length}),r.getElementsByClassName=ut(function(e){return e.innerHTML="<div class='a'></div><div class='a i'></div>",e.firstChild.className="i",2===e.getElementsByClassName("i").length}),r.getById=ut(function(e){return d.appendChild(e).id=b,!n.getElementsByName||!n.getElementsByName(b).length}),r.getById?(o.find.ID=function(e,t){if(typeof t.getElementById!==j&&h){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){return e.getAttribute("id")===t}}):(delete o.find.ID,o.filter.ID=function(e){var t=e.replace(rt,it);return function(e){var n=typeof e.getAttributeNode!==j&&e.getAttributeNode("id");return n&&n.value===t}}),o.find.TAG=r.getElementsByTagName?function(e,n){return typeof n.getElementsByTagName!==j?n.getElementsByTagName(e):t}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},o.find.CLASS=r.getElementsByClassName&&function(e,n){return typeof n.getElementsByClassName!==j&&h?n.getElementsByClassName(e):t},m=[],g=[],(r.qsa=K.test(n.querySelectorAll))&&(ut(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||g.push("\\["+P+"*(?:value|"+B+")"),e.querySelectorAll(":checked").length||g.push(":checked")}),ut(function(e){var t=n.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("t",""),e.querySelectorAll("[t^='']").length&&g.push("[*^$]="+P+"*(?:''|\"\")"),e.querySelectorAll(":enabled").length||g.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),g.push(",.*:")})),(r.matchesSelector=K.test(y=d.webkitMatchesSelector||d.mozMatchesSelector||d.oMatchesSelector||d.msMatchesSelector))&&ut(function(e){r.disconnectedMatch=y.call(e,"div"),y.call(e,"[s!='']:x"),m.push("!=",I)}),g=g.length&&RegExp(g.join("|")),m=m.length&&RegExp(m.join("|")),v=K.test(d.contains)||d.compareDocumentPosition?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},A=d.compareDocumentPosition?function(e,t){if(e===t)return S=!0,0;var i=t.compareDocumentPosition&&e.compareDocumentPosition&&e.compareDocumentPosition(t);return i?1&i||!r.sortDetached&&t.compareDocumentPosition(e)===i?e===n||v(w,e)?-1:t===n||v(w,t)?1:c?F.call(c,e)-F.call(c,t):0:4&i?-1:1:e.compareDocumentPosition?-1:1}:function(e,t){var r,i=0,o=e.parentNode,a=t.parentNode,s=[e],l=[t];if(e===t)return S=!0,0;if(!o||!a)return e===n?-1:t===n?1:o?-1:a?1:c?F.call(c,e)-F.call(c,t):0;if(o===a)return pt(e,t);r=e;while(r=r.parentNode)s.unshift(r);r=t;while(r=r.parentNode)l.unshift(r);while(s[i]===l[i])i++;return i?pt(s[i],l[i]):s[i]===w?-1:l[i]===w?1:0},n):f},at.matches=function(e,t){return at(e,null,null,t)},at.matchesSelector=function(e,t){if((e.ownerDocument||e)!==f&&p(e),t=t.replace(Y,"='$1']"),!(!r.matchesSelector||!h||m&&m.test(t)||g&&g.test(t)))try{var n=y.call(e,t);if(n||r.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(i){}return at(t,f,null,[e]).length>0},at.contains=function(e,t){return(e.ownerDocument||e)!==f&&p(e),v(e,t)},at.attr=function(e,n){(e.ownerDocument||e)!==f&&p(e);var i=o.attrHandle[n.toLowerCase()],a=i&&L.call(o.attrHandle,n.toLowerCase())?i(e,n,!h):t;return a===t?r.attributes||!h?e.getAttribute(n):(a=e.getAttributeNode(n))&&a.specified?a.value:null:a},at.error=function(e){throw Error("Syntax error, unrecognized expression: "+e)},at.uniqueSort=function(e){var t,n=[],i=0,o=0;if(S=!r.detectDuplicates,c=!r.sortStable&&e.slice(0),e.sort(A),S){while(t=e[o++])t===e[o]&&(i=n.push(o));while(i--)e.splice(n[i],1)}return e},a=at.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=a(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r];r++)n+=a(t);return n},o=at.selectors={cacheLength:50,createPseudo:lt,match:Q,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(rt,it),e[3]=(e[4]||e[5]||"").replace(rt,it),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||at.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&at.error(e[0]),e},PSEUDO:function(e){var n,r=!e[5]&&e[2];return Q.CHILD.test(e[0])?null:(e[3]&&e[4]!==t?e[2]=e[4]:r&&J.test(r)&&(n=mt(r,!0))&&(n=r.indexOf(")",r.length-n)-r.length)&&(e[0]=e[0].slice(0,n),e[2]=r.slice(0,n)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(rt,it).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=N[e+" "];return t||(t=RegExp("(^|"+P+")"+e+"("+P+"|$)"))&&N(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==j&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var i=at.attr(r,e);return null==i?"!="===t:t?(i+="","="===t?i===n:"!="===t?i!==n:"^="===t?n&&0===i.indexOf(n):"*="===t?n&&i.indexOf(n)>-1:"$="===t?n&&i.slice(-n.length)===n:"~="===t?(" "+i+" ").indexOf(n)>-1:"|="===t?i===n||i.slice(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,p,f,d,h,g=o!==a?"nextSibling":"previousSibling",m=t.parentNode,y=s&&t.nodeName.toLowerCase(),v=!l&&!s;if(m){if(o){while(g){p=t;while(p=p[g])if(s?p.nodeName.toLowerCase()===y:1===p.nodeType)return!1;h=g="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?m.firstChild:m.lastChild],a&&v){c=m[b]||(m[b]={}),u=c[e]||[],d=u[0]===T&&u[1],f=u[0]===T&&u[2],p=d&&m.childNodes[d];while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if(1===p.nodeType&&++f&&p===t){c[e]=[T,d,f];break}}else if(v&&(u=(t[b]||(t[b]={}))[e])&&u[0]===T)f=u[1];else while(p=++d&&p&&p[g]||(f=d=0)||h.pop())if((s?p.nodeName.toLowerCase()===y:1===p.nodeType)&&++f&&(v&&((p[b]||(p[b]={}))[e]=[T,f]),p===t))break;return f-=i,f===r||0===f%r&&f/r>=0}}},PSEUDO:function(e,t){var n,r=o.pseudos[e]||o.setFilters[e.toLowerCase()]||at.error("unsupported pseudo: "+e);return r[b]?r(t):r.length>1?(n=[e,e,"",t],o.setFilters.hasOwnProperty(e.toLowerCase())?lt(function(e,n){var i,o=r(e,t),a=o.length;while(a--)i=F.call(e,o[a]),e[i]=!(n[i]=o[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:lt(function(e){var t=[],n=[],r=l(e.replace(z,"$1"));return r[b]?lt(function(e,t,n,i){var o,a=r(e,null,i,[]),s=e.length;while(s--)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,i,o){return t[0]=e,r(t,null,o,n),!n.pop()}}),has:lt(function(e){return function(t){return at(e,t).length>0}}),contains:lt(function(e){return function(t){return(t.textContent||t.innerText||a(t)).indexOf(e)>-1}}),lang:lt(function(e){return G.test(e||"")||at.error("unsupported lang: "+e),e=e.replace(rt,it).toLowerCase(),function(t){var n;do if(n=h?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return n=n.toLowerCase(),n===e||0===n.indexOf(e+"-");while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(t){var n=e.location&&e.location.hash;return n&&n.slice(1)===t.id},root:function(e){return e===d},focus:function(e){return e===f.activeElement&&(!f.hasFocus||f.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeName>"@"||3===e.nodeType||4===e.nodeType)return!1;return!0},parent:function(e){return!o.pseudos.empty(e)},header:function(e){return tt.test(e.nodeName)},input:function(e){return et.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||t.toLowerCase()===e.type)},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[0>n?n+t:n]}),even:ht(function(e,t){var n=0;for(;t>n;n+=2)e.push(n);return e}),odd:ht(function(e,t){var n=1;for(;t>n;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){var r=0>n?n+t:n;for(;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){var r=0>n?n+t:n;for(;t>++r;)e.push(r);return e})}},o.pseudos.nth=o.pseudos.eq;for(n in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})o.pseudos[n]=ft(n);for(n in{submit:!0,reset:!0})o.pseudos[n]=dt(n);function gt(){}gt.prototype=o.filters=o.pseudos,o.setFilters=new gt;function mt(e,t){var n,r,i,a,s,l,u,c=k[e+" "];if(c)return t?0:c.slice(0);s=e,l=[],u=o.preFilter;while(s){(!n||(r=X.exec(s)))&&(r&&(s=s.slice(r[0].length)||s),l.push(i=[])),n=!1,(r=U.exec(s))&&(n=r.shift(),i.push({value:n,type:r[0].replace(z," ")}),s=s.slice(n.length));for(a in o.filter)!(r=Q[a].exec(s))||u[a]&&!(r=u[a](r))||(n=r.shift(),i.push({value:n,type:a,matches:r}),s=s.slice(n.length));if(!n)break}return t?s.length:s?at.error(e):k(e,l).slice(0)}function yt(e){var t=0,n=e.length,r="";for(;n>t;t++)r+=e[t].value;return r}function vt(e,t,n){var r=t.dir,o=n&&"parentNode"===r,a=C++;return t.first?function(t,n,i){while(t=t[r])if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,s){var l,u,c,p=T+" "+a;if(s){while(t=t[r])if((1===t.nodeType||o)&&e(t,n,s))return!0}else while(t=t[r])if(1===t.nodeType||o)if(c=t[b]||(t[b]={}),(u=c[r])&&u[0]===p){if((l=u[1])===!0||l===i)return l===!0}else if(u=c[r]=[p],u[1]=e(t,n,s)||i,u[1]===!0)return!0}}function bt(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function xt(e,t,n,r,i){var o,a=[],s=0,l=e.length,u=null!=t;for(;l>s;s++)(o=e[s])&&(!n||n(o,r,i))&&(a.push(o),u&&t.push(s));return a}function wt(e,t,n,r,i,o){return r&&!r[b]&&(r=wt(r)),i&&!i[b]&&(i=wt(i,o)),lt(function(o,a,s,l){var u,c,p,f=[],d=[],h=a.length,g=o||Nt(t||"*",s.nodeType?[s]:s,[]),m=!e||!o&&t?g:xt(g,f,e,s,l),y=n?i||(o?e:h||r)?[]:a:m;if(n&&n(m,y,s,l),r){u=xt(y,d),r(u,[],s,l),c=u.length;while(c--)(p=u[c])&&(y[d[c]]=!(m[d[c]]=p))}if(o){if(i||e){if(i){u=[],c=y.length;while(c--)(p=y[c])&&u.push(m[c]=p);i(null,y=[],u,l)}c=y.length;while(c--)(p=y[c])&&(u=i?F.call(o,p):f[c])>-1&&(o[u]=!(a[u]=p))}}else y=xt(y===a?y.splice(h,y.length):y),i?i(null,a,y,l):M.apply(a,y)})}function Tt(e){var t,n,r,i=e.length,a=o.relative[e[0].type],s=a||o.relative[" "],l=a?1:0,c=vt(function(e){return e===t},s,!0),p=vt(function(e){return F.call(t,e)>-1},s,!0),f=[function(e,n,r){return!a&&(r||n!==u)||((t=n).nodeType?c(e,n,r):p(e,n,r))}];for(;i>l;l++)if(n=o.relative[e[l].type])f=[vt(bt(f),n)];else{if(n=o.filter[e[l].type].apply(null,e[l].matches),n[b]){for(r=++l;i>r;r++)if(o.relative[e[r].type])break;return wt(l>1&&bt(f),l>1&&yt(e.slice(0,l-1).concat({value:" "===e[l-2].type?"*":""})).replace(z,"$1"),n,r>l&&Tt(e.slice(l,r)),i>r&&Tt(e=e.slice(r)),i>r&&yt(e))}f.push(n)}return bt(f)}function Ct(e,t){var n=0,r=t.length>0,a=e.length>0,s=function(s,l,c,p,d){var h,g,m,y=[],v=0,b="0",x=s&&[],w=null!=d,C=u,N=s||a&&o.find.TAG("*",d&&l.parentNode||l),k=T+=null==C?1:Math.random()||.1;for(w&&(u=l!==f&&l,i=n);null!=(h=N[b]);b++){if(a&&h){g=0;while(m=e[g++])if(m(h,l,c)){p.push(h);break}w&&(T=k,i=++n)}r&&((h=!m&&h)&&v--,s&&x.push(h))}if(v+=b,r&&b!==v){g=0;while(m=t[g++])m(x,y,l,c);if(s){if(v>0)while(b--)x[b]||y[b]||(y[b]=q.call(p));y=xt(y)}M.apply(p,y),w&&!s&&y.length>0&&v+t.length>1&&at.uniqueSort(p)}return w&&(T=k,u=C),x};return r?lt(s):s}l=at.compile=function(e,t){var n,r=[],i=[],o=E[e+" "];if(!o){t||(t=mt(e)),n=t.length;while(n--)o=Tt(t[n]),o[b]?r.push(o):i.push(o);o=E(e,Ct(i,r))}return o};function Nt(e,t,n){var r=0,i=t.length;for(;i>r;r++)at(e,t[r],n);return n}function kt(e,t,n,i){var a,s,u,c,p,f=mt(e);if(!i&&1===f.length){if(s=f[0]=f[0].slice(0),s.length>2&&"ID"===(u=s[0]).type&&r.getById&&9===t.nodeType&&h&&o.relative[s[1].type]){if(t=(o.find.ID(u.matches[0].replace(rt,it),t)||[])[0],!t)return n;e=e.slice(s.shift().value.length)}a=Q.needsContext.test(e)?0:s.length;while(a--){if(u=s[a],o.relative[c=u.type])break;if((p=o.find[c])&&(i=p(u.matches[0].replace(rt,it),V.test(s[0].type)&&t.parentNode||t))){if(s.splice(a,1),e=i.length&&yt(s),!e)return M.apply(n,i),n;break}}}return l(e,f)(i,t,!h,n,V.test(e)),n}r.sortStable=b.split("").sort(A).join("")===b,r.detectDuplicates=S,p(),r.sortDetached=ut(function(e){return 1&e.compareDocumentPosition(f.createElement("div"))}),ut(function(e){return e.innerHTML="<a href='#'></a>","#"===e.firstChild.getAttribute("href")})||ct("type|href|height|width",function(e,n,r){return r?t:e.getAttribute(n,"type"===n.toLowerCase()?1:2)}),r.attributes&&ut(function(e){return e.innerHTML="<input/>",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||ct("value",function(e,n,r){return r||"input"!==e.nodeName.toLowerCase()?t:e.defaultValue}),ut(function(e){return null==e.getAttribute("disabled")})||ct(B,function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&i.specified?i.value:e[n]===!0?n.toLowerCase():null}),x.find=at,x.expr=at.selectors,x.expr[":"]=x.expr.pseudos,x.unique=at.uniqueSort,x.text=at.getText,x.isXMLDoc=at.isXML,x.contains=at.contains}(e);var O={};function F(e){var t=O[e]={};return x.each(e.match(T)||[],function(e,n){t[n]=!0}),t}x.Callbacks=function(e){e="string"==typeof e?O[e]||F(e):x.extend({},e);var n,r,i,o,a,s,l=[],u=!e.once&&[],c=function(t){for(r=e.memory&&t,i=!0,a=s||0,s=0,o=l.length,n=!0;l&&o>a;a++)if(l[a].apply(t[0],t[1])===!1&&e.stopOnFalse){r=!1;break}n=!1,l&&(u?u.length&&c(u.shift()):r?l=[]:p.disable())},p={add:function(){if(l){var t=l.length;(function i(t){x.each(t,function(t,n){var r=x.type(n);"function"===r?e.unique&&p.has(n)||l.push(n):n&&n.length&&"string"!==r&&i(n)})})(arguments),n?o=l.length:r&&(s=t,c(r))}return this},remove:function(){return l&&x.each(arguments,function(e,t){var r;while((r=x.inArray(t,l,r))>-1)l.splice(r,1),n&&(o>=r&&o--,a>=r&&a--)}),this},has:function(e){return e?x.inArray(e,l)>-1:!(!l||!l.length)},empty:function(){return l=[],o=0,this},disable:function(){return l=u=r=t,this},disabled:function(){return!l},lock:function(){return u=t,r||p.disable(),this},locked:function(){return!u},fireWith:function(e,t){return!l||i&&!u||(t=t||[],t=[e,t.slice?t.slice():t],n?u.push(t):c(t)),this},fire:function(){return p.fireWith(this,arguments),this},fired:function(){return!!i}};return p},x.extend({Deferred:function(e){var t=[["resolve","done",x.Callbacks("once memory"),"resolved"],["reject","fail",x.Callbacks("once memory"),"rejected"],["notify","progress",x.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return x.Deferred(function(n){x.each(t,function(t,o){var a=o[0],s=x.isFunction(e[t])&&e[t];i[o[1]](function(){var e=s&&s.apply(this,arguments);e&&x.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[a+"With"](this===r?n.promise():this,s?[e]:arguments)})}),e=null}).promise()},promise:function(e){return null!=e?x.extend(e,r):r}},i={};return r.pipe=r.then,x.each(t,function(e,o){var a=o[2],s=o[3];r[o[1]]=a.add,s&&a.add(function(){n=s},t[1^e][2].disable,t[2][2].lock),i[o[0]]=function(){return i[o[0]+"With"](this===i?r:this,arguments),this},i[o[0]+"With"]=a.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=g.call(arguments),r=n.length,i=1!==r||e&&x.isFunction(e.promise)?r:0,o=1===i?e:x.Deferred(),a=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?g.call(arguments):r,n===s?o.notifyWith(t,n):--i||o.resolveWith(t,n)}},s,l,u;if(r>1)for(s=Array(r),l=Array(r),u=Array(r);r>t;t++)n[t]&&x.isFunction(n[t].promise)?n[t].promise().done(a(t,u,n)).fail(o.reject).progress(a(t,l,s)):--i;return i||o.resolveWith(u,n),o.promise()}}),x.support=function(t){var n,r,o,s,l,u,c,p,f,d=a.createElement("div");if(d.setAttribute("className","t"),d.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=d.getElementsByTagName("*")||[],r=d.getElementsByTagName("a")[0],!r||!r.style||!n.length)return t;s=a.createElement("select"),u=s.appendChild(a.createElement("option")),o=d.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t.getSetAttribute="t"!==d.className,t.leadingWhitespace=3===d.firstChild.nodeType,t.tbody=!d.getElementsByTagName("tbody").length,t.htmlSerialize=!!d.getElementsByTagName("link").length,t.style=/top/.test(r.getAttribute("style")),t.hrefNormalized="/a"===r.getAttribute("href"),t.opacity=/^0.5/.test(r.style.opacity),t.cssFloat=!!r.style.cssFloat,t.checkOn=!!o.value,t.optSelected=u.selected,t.enctype=!!a.createElement("form").enctype,t.html5Clone="<:nav></:nav>"!==a.createElement("nav").cloneNode(!0).outerHTML,t.inlineBlockNeedsLayout=!1,t.shrinkWrapBlocks=!1,t.pixelPosition=!1,t.deleteExpando=!0,t.noCloneEvent=!0,t.reliableMarginRight=!0,t.boxSizingReliable=!0,o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!u.disabled;try{delete d.test}catch(h){t.deleteExpando=!1}o=a.createElement("input"),o.setAttribute("value",""),t.input=""===o.getAttribute("value"),o.value="t",o.setAttribute("type","radio"),t.radioValue="t"===o.value,o.setAttribute("checked","t"),o.setAttribute("name","t"),l=a.createDocumentFragment(),l.appendChild(o),t.appendChecked=o.checked,t.checkClone=l.cloneNode(!0).cloneNode(!0).lastChild.checked,d.attachEvent&&(d.attachEvent("onclick",function(){t.noCloneEvent=!1}),d.cloneNode(!0).click());for(f in{submit:!0,change:!0,focusin:!0})d.setAttribute(c="on"+f,"t"),t[f+"Bubbles"]=c in e||d.attributes[c].expando===!1;d.style.backgroundClip="content-box",d.cloneNode(!0).style.backgroundClip="",t.clearCloneStyle="content-box"===d.style.backgroundClip;for(f in x(t))break;return t.ownLast="0"!==f,x(function(){var n,r,o,s="padding:0;margin:0;border:0;display:block;box-sizing:content-box;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;",l=a.getElementsByTagName("body")[0];l&&(n=a.createElement("div"),n.style.cssText="border:0;width:0;height:0;position:absolute;top:0;left:-9999px;margin-top:1px",l.appendChild(n).appendChild(d),d.innerHTML="<table><tr><td></td><td>t</td></tr></table>",o=d.getElementsByTagName("td"),o[0].style.cssText="padding:0;margin:0;border:0;display:none",p=0===o[0].offsetHeight,o[0].style.display="",o[1].style.display="none",t.reliableHiddenOffsets=p&&0===o[0].offsetHeight,d.innerHTML="",d.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",x.swap(l,null!=l.style.zoom?{zoom:1}:{},function(){t.boxSizing=4===d.offsetWidth}),e.getComputedStyle&&(t.pixelPosition="1%"!==(e.getComputedStyle(d,null)||{}).top,t.boxSizingReliable="4px"===(e.getComputedStyle(d,null)||{width:"4px"}).width,r=d.appendChild(a.createElement("div")),r.style.cssText=d.style.cssText=s,r.style.marginRight=r.style.width="0",d.style.width="1px",t.reliableMarginRight=!parseFloat((e.getComputedStyle(r,null)||{}).marginRight)),typeof d.style.zoom!==i&&(d.innerHTML="",d.style.cssText=s+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=3===d.offsetWidth,d.style.display="block",d.innerHTML="<div></div>",d.firstChild.style.width="5px",t.shrinkWrapBlocks=3!==d.offsetWidth,t.inlineBlockNeedsLayout&&(l.style.zoom=1)),l.removeChild(n),n=d=o=r=null)}),n=s=l=u=r=o=null,t
10
- }({});var B=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;function R(e,n,r,i){if(x.acceptData(e)){var o,a,s=x.expando,l=e.nodeType,u=l?x.cache:e,c=l?e[s]:e[s]&&s;if(c&&u[c]&&(i||u[c].data)||r!==t||"string"!=typeof n)return c||(c=l?e[s]=p.pop()||x.guid++:s),u[c]||(u[c]=l?{}:{toJSON:x.noop}),("object"==typeof n||"function"==typeof n)&&(i?u[c]=x.extend(u[c],n):u[c].data=x.extend(u[c].data,n)),a=u[c],i||(a.data||(a.data={}),a=a.data),r!==t&&(a[x.camelCase(n)]=r),"string"==typeof n?(o=a[n],null==o&&(o=a[x.camelCase(n)])):o=a,o}}function W(e,t,n){if(x.acceptData(e)){var r,i,o=e.nodeType,a=o?x.cache:e,s=o?e[x.expando]:x.expando;if(a[s]){if(t&&(r=n?a[s]:a[s].data)){x.isArray(t)?t=t.concat(x.map(t,x.camelCase)):t in r?t=[t]:(t=x.camelCase(t),t=t in r?[t]:t.split(" ")),i=t.length;while(i--)delete r[t[i]];if(n?!I(r):!x.isEmptyObject(r))return}(n||(delete a[s].data,I(a[s])))&&(o?x.cleanData([e],!0):x.support.deleteExpando||a!=a.window?delete a[s]:a[s]=null)}}}x.extend({cache:{},noData:{applet:!0,embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(e){return e=e.nodeType?x.cache[e[x.expando]]:e[x.expando],!!e&&!I(e)},data:function(e,t,n){return R(e,t,n)},removeData:function(e,t){return W(e,t)},_data:function(e,t,n){return R(e,t,n,!0)},_removeData:function(e,t){return W(e,t,!0)},acceptData:function(e){if(e.nodeType&&1!==e.nodeType&&9!==e.nodeType)return!1;var t=e.nodeName&&x.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),x.fn.extend({data:function(e,n){var r,i,o=null,a=0,s=this[0];if(e===t){if(this.length&&(o=x.data(s),1===s.nodeType&&!x._data(s,"parsedAttrs"))){for(r=s.attributes;r.length>a;a++)i=r[a].name,0===i.indexOf("data-")&&(i=x.camelCase(i.slice(5)),$(s,i,o[i]));x._data(s,"parsedAttrs",!0)}return o}return"object"==typeof e?this.each(function(){x.data(this,e)}):arguments.length>1?this.each(function(){x.data(this,e,n)}):s?$(s,e,x.data(s,e)):null},removeData:function(e){return this.each(function(){x.removeData(this,e)})}});function $(e,n,r){if(r===t&&1===e.nodeType){var i="data-"+n.replace(P,"-$1").toLowerCase();if(r=e.getAttribute(i),"string"==typeof r){try{r="true"===r?!0:"false"===r?!1:"null"===r?null:+r+""===r?+r:B.test(r)?x.parseJSON(r):r}catch(o){}x.data(e,n,r)}else r=t}return r}function I(e){var t;for(t in e)if(("data"!==t||!x.isEmptyObject(e[t]))&&"toJSON"!==t)return!1;return!0}x.extend({queue:function(e,n,r){var i;return e?(n=(n||"fx")+"queue",i=x._data(e,n),r&&(!i||x.isArray(r)?i=x._data(e,n,x.makeArray(r)):i.push(r)),i||[]):t},dequeue:function(e,t){t=t||"fx";var n=x.queue(e,t),r=n.length,i=n.shift(),o=x._queueHooks(e,t),a=function(){x.dequeue(e,t)};"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,a,o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return x._data(e,n)||x._data(e,n,{empty:x.Callbacks("once memory").add(function(){x._removeData(e,t+"queue"),x._removeData(e,n)})})}}),x.fn.extend({queue:function(e,n){var r=2;return"string"!=typeof e&&(n=e,e="fx",r--),r>arguments.length?x.queue(this[0],e):n===t?this:this.each(function(){var t=x.queue(this,e,n);x._queueHooks(this,e),"fx"===e&&"inprogress"!==t[0]&&x.dequeue(this,e)})},dequeue:function(e){return this.each(function(){x.dequeue(this,e)})},delay:function(e,t){return e=x.fx?x.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,o=x.Deferred(),a=this,s=this.length,l=function(){--i||o.resolveWith(a,[a])};"string"!=typeof e&&(n=e,e=t),e=e||"fx";while(s--)r=x._data(a[s],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(l));return l(),o.promise(n)}});var z,X,U=/[\t\r\n\f]/g,V=/\r/g,Y=/^(?:input|select|textarea|button|object)$/i,J=/^(?:a|area)$/i,G=/^(?:checked|selected)$/i,Q=x.support.getSetAttribute,K=x.support.input;x.fn.extend({attr:function(e,t){return x.access(this,x.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){x.removeAttr(this,e)})},prop:function(e,t){return x.access(this,x.prop,e,t,arguments.length>1)},removeProp:function(e){return e=x.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,o,a=0,s=this.length,l="string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).addClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):" ")){o=0;while(i=t[o++])0>r.indexOf(" "+i+" ")&&(r+=i+" ");n.className=x.trim(r)}return this},removeClass:function(e){var t,n,r,i,o,a=0,s=this.length,l=0===arguments.length||"string"==typeof e&&e;if(x.isFunction(e))return this.each(function(t){x(this).removeClass(e.call(this,t,this.className))});if(l)for(t=(e||"").match(T)||[];s>a;a++)if(n=this[a],r=1===n.nodeType&&(n.className?(" "+n.className+" ").replace(U," "):"")){o=0;while(i=t[o++])while(r.indexOf(" "+i+" ")>=0)r=r.replace(" "+i+" "," ");n.className=e?x.trim(r):""}return this},toggleClass:function(e,t){var n=typeof e;return"boolean"==typeof t&&"string"===n?t?this.addClass(e):this.removeClass(e):x.isFunction(e)?this.each(function(n){x(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if("string"===n){var t,r=0,o=x(this),a=e.match(T)||[];while(t=a[r++])o.hasClass(t)?o.removeClass(t):o.addClass(t)}else(n===i||"boolean"===n)&&(this.className&&x._data(this,"__className__",this.className),this.className=this.className||e===!1?"":x._data(this,"__className__")||"")})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;r>n;n++)if(1===this[n].nodeType&&(" "+this[n].className+" ").replace(U," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,o=this[0];{if(arguments.length)return i=x.isFunction(e),this.each(function(n){var o;1===this.nodeType&&(o=i?e.call(this,n,x(this).val()):e,null==o?o="":"number"==typeof o?o+="":x.isArray(o)&&(o=x.map(o,function(e){return null==e?"":e+""})),r=x.valHooks[this.type]||x.valHooks[this.nodeName.toLowerCase()],r&&"set"in r&&r.set(this,o,"value")!==t||(this.value=o))});if(o)return r=x.valHooks[o.type]||x.valHooks[o.nodeName.toLowerCase()],r&&"get"in r&&(n=r.get(o,"value"))!==t?n:(n=o.value,"string"==typeof n?n.replace(V,""):null==n?"":n)}}}),x.extend({valHooks:{option:{get:function(e){var t=x.find.attr(e,"value");return null!=t?t:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,o="select-one"===e.type||0>i,a=o?null:[],s=o?i+1:r.length,l=0>i?s:o?i:0;for(;s>l;l++)if(n=r[l],!(!n.selected&&l!==i||(x.support.optDisabled?n.disabled:null!==n.getAttribute("disabled"))||n.parentNode.disabled&&x.nodeName(n.parentNode,"optgroup"))){if(t=x(n).val(),o)return t;a.push(t)}return a},set:function(e,t){var n,r,i=e.options,o=x.makeArray(t),a=i.length;while(a--)r=i[a],(r.selected=x.inArray(x(r).val(),o)>=0)&&(n=!0);return n||(e.selectedIndex=-1),o}}},attr:function(e,n,r){var o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return typeof e.getAttribute===i?x.prop(e,n,r):(1===s&&x.isXMLDoc(e)||(n=n.toLowerCase(),o=x.attrHooks[n]||(x.expr.match.bool.test(n)?X:z)),r===t?o&&"get"in o&&null!==(a=o.get(e,n))?a:(a=x.find.attr(e,n),null==a?t:a):null!==r?o&&"set"in o&&(a=o.set(e,r,n))!==t?a:(e.setAttribute(n,r+""),r):(x.removeAttr(e,n),t))},removeAttr:function(e,t){var n,r,i=0,o=t&&t.match(T);if(o&&1===e.nodeType)while(n=o[i++])r=x.propFix[n]||n,x.expr.match.bool.test(n)?K&&Q||!G.test(n)?e[r]=!1:e[x.camelCase("default-"+n)]=e[r]=!1:x.attr(e,n,""),e.removeAttribute(Q?n:r)},attrHooks:{type:{set:function(e,t){if(!x.support.radioValue&&"radio"===t&&x.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},propFix:{"for":"htmlFor","class":"className"},prop:function(e,n,r){var i,o,a,s=e.nodeType;if(e&&3!==s&&8!==s&&2!==s)return a=1!==s||!x.isXMLDoc(e),a&&(n=x.propFix[n]||n,o=x.propHooks[n]),r!==t?o&&"set"in o&&(i=o.set(e,r,n))!==t?i:e[n]=r:o&&"get"in o&&null!==(i=o.get(e,n))?i:e[n]},propHooks:{tabIndex:{get:function(e){var t=x.find.attr(e,"tabindex");return t?parseInt(t,10):Y.test(e.nodeName)||J.test(e.nodeName)&&e.href?0:-1}}}}),X={set:function(e,t,n){return t===!1?x.removeAttr(e,n):K&&Q||!G.test(n)?e.setAttribute(!Q&&x.propFix[n]||n,n):e[x.camelCase("default-"+n)]=e[n]=!0,n}},x.each(x.expr.match.bool.source.match(/\w+/g),function(e,n){var r=x.expr.attrHandle[n]||x.find.attr;x.expr.attrHandle[n]=K&&Q||!G.test(n)?function(e,n,i){var o=x.expr.attrHandle[n],a=i?t:(x.expr.attrHandle[n]=t)!=r(e,n,i)?n.toLowerCase():null;return x.expr.attrHandle[n]=o,a}:function(e,n,r){return r?t:e[x.camelCase("default-"+n)]?n.toLowerCase():null}}),K&&Q||(x.attrHooks.value={set:function(e,n,r){return x.nodeName(e,"input")?(e.defaultValue=n,t):z&&z.set(e,n,r)}}),Q||(z={set:function(e,n,r){var i=e.getAttributeNode(r);return i||e.setAttributeNode(i=e.ownerDocument.createAttribute(r)),i.value=n+="","value"===r||n===e.getAttribute(r)?n:t}},x.expr.attrHandle.id=x.expr.attrHandle.name=x.expr.attrHandle.coords=function(e,n,r){var i;return r?t:(i=e.getAttributeNode(n))&&""!==i.value?i.value:null},x.valHooks.button={get:function(e,n){var r=e.getAttributeNode(n);return r&&r.specified?r.value:t},set:z.set},x.attrHooks.contenteditable={set:function(e,t,n){z.set(e,""===t?!1:t,n)}},x.each(["width","height"],function(e,n){x.attrHooks[n]={set:function(e,r){return""===r?(e.setAttribute(n,"auto"),r):t}}})),x.support.hrefNormalized||x.each(["href","src"],function(e,t){x.propHooks[t]={get:function(e){return e.getAttribute(t,4)}}}),x.support.style||(x.attrHooks.style={get:function(e){return e.style.cssText||t},set:function(e,t){return e.style.cssText=t+""}}),x.support.optSelected||(x.propHooks.selected={get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}}),x.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){x.propFix[this.toLowerCase()]=this}),x.support.enctype||(x.propFix.enctype="encoding"),x.each(["radio","checkbox"],function(){x.valHooks[this]={set:function(e,n){return x.isArray(n)?e.checked=x.inArray(x(e).val(),n)>=0:t}},x.support.checkOn||(x.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Z=/^(?:input|select|textarea)$/i,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^([^.]*)(?:\.(.+)|)$/;function it(){return!0}function ot(){return!1}function at(){try{return a.activeElement}catch(e){}}x.event={global:{},add:function(e,n,r,o,a){var s,l,u,c,p,f,d,h,g,m,y,v=x._data(e);if(v){r.handler&&(c=r,r=c.handler,a=c.selector),r.guid||(r.guid=x.guid++),(l=v.events)||(l=v.events={}),(f=v.handle)||(f=v.handle=function(e){return typeof x===i||e&&x.event.triggered===e.type?t:x.event.dispatch.apply(f.elem,arguments)},f.elem=e),n=(n||"").match(T)||[""],u=n.length;while(u--)s=rt.exec(n[u])||[],g=y=s[1],m=(s[2]||"").split(".").sort(),g&&(p=x.event.special[g]||{},g=(a?p.delegateType:p.bindType)||g,p=x.event.special[g]||{},d=x.extend({type:g,origType:y,data:o,handler:r,guid:r.guid,selector:a,needsContext:a&&x.expr.match.needsContext.test(a),namespace:m.join(".")},c),(h=l[g])||(h=l[g]=[],h.delegateCount=0,p.setup&&p.setup.call(e,o,m,f)!==!1||(e.addEventListener?e.addEventListener(g,f,!1):e.attachEvent&&e.attachEvent("on"+g,f))),p.add&&(p.add.call(e,d),d.handler.guid||(d.handler.guid=r.guid)),a?h.splice(h.delegateCount++,0,d):h.push(d),x.event.global[g]=!0);e=null}},remove:function(e,t,n,r,i){var o,a,s,l,u,c,p,f,d,h,g,m=x.hasData(e)&&x._data(e);if(m&&(c=m.events)){t=(t||"").match(T)||[""],u=t.length;while(u--)if(s=rt.exec(t[u])||[],d=g=s[1],h=(s[2]||"").split(".").sort(),d){p=x.event.special[d]||{},d=(r?p.delegateType:p.bindType)||d,f=c[d]||[],s=s[2]&&RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),l=o=f.length;while(o--)a=f[o],!i&&g!==a.origType||n&&n.guid!==a.guid||s&&!s.test(a.namespace)||r&&r!==a.selector&&("**"!==r||!a.selector)||(f.splice(o,1),a.selector&&f.delegateCount--,p.remove&&p.remove.call(e,a));l&&!f.length&&(p.teardown&&p.teardown.call(e,h,m.handle)!==!1||x.removeEvent(e,d,m.handle),delete c[d])}else for(d in c)x.event.remove(e,d+t[u],n,r,!0);x.isEmptyObject(c)&&(delete m.handle,x._removeData(e,"events"))}},trigger:function(n,r,i,o){var s,l,u,c,p,f,d,h=[i||a],g=v.call(n,"type")?n.type:n,m=v.call(n,"namespace")?n.namespace.split("."):[];if(u=f=i=i||a,3!==i.nodeType&&8!==i.nodeType&&!nt.test(g+x.event.triggered)&&(g.indexOf(".")>=0&&(m=g.split("."),g=m.shift(),m.sort()),l=0>g.indexOf(":")&&"on"+g,n=n[x.expando]?n:new x.Event(g,"object"==typeof n&&n),n.isTrigger=o?2:3,n.namespace=m.join("."),n.namespace_re=n.namespace?RegExp("(^|\\.)"+m.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,n.result=t,n.target||(n.target=i),r=null==r?[n]:x.makeArray(r,[n]),p=x.event.special[g]||{},o||!p.trigger||p.trigger.apply(i,r)!==!1)){if(!o&&!p.noBubble&&!x.isWindow(i)){for(c=p.delegateType||g,nt.test(c+g)||(u=u.parentNode);u;u=u.parentNode)h.push(u),f=u;f===(i.ownerDocument||a)&&h.push(f.defaultView||f.parentWindow||e)}d=0;while((u=h[d++])&&!n.isPropagationStopped())n.type=d>1?c:p.bindType||g,s=(x._data(u,"events")||{})[n.type]&&x._data(u,"handle"),s&&s.apply(u,r),s=l&&u[l],s&&x.acceptData(u)&&s.apply&&s.apply(u,r)===!1&&n.preventDefault();if(n.type=g,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(h.pop(),r)===!1)&&x.acceptData(i)&&l&&i[g]&&!x.isWindow(i)){f=i[l],f&&(i[l]=null),x.event.triggered=g;try{i[g]()}catch(y){}x.event.triggered=t,f&&(i[l]=f)}return n.result}},dispatch:function(e){e=x.event.fix(e);var n,r,i,o,a,s=[],l=g.call(arguments),u=(x._data(this,"events")||{})[e.type]||[],c=x.event.special[e.type]||{};if(l[0]=e,e.delegateTarget=this,!c.preDispatch||c.preDispatch.call(this,e)!==!1){s=x.event.handlers.call(this,e,u),n=0;while((o=s[n++])&&!e.isPropagationStopped()){e.currentTarget=o.elem,a=0;while((i=o.handlers[a++])&&!e.isImmediatePropagationStopped())(!e.namespace_re||e.namespace_re.test(i.namespace))&&(e.handleObj=i,e.data=i.data,r=((x.event.special[i.origType]||{}).handle||i.handler).apply(o.elem,l),r!==t&&(e.result=r)===!1&&(e.preventDefault(),e.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,e),e.result}},handlers:function(e,n){var r,i,o,a,s=[],l=n.delegateCount,u=e.target;if(l&&u.nodeType&&(!e.button||"click"!==e.type))for(;u!=this;u=u.parentNode||this)if(1===u.nodeType&&(u.disabled!==!0||"click"!==e.type)){for(o=[],a=0;l>a;a++)i=n[a],r=i.selector+" ",o[r]===t&&(o[r]=i.needsContext?x(r,this).index(u)>=0:x.find(r,this,null,[u]).length),o[r]&&o.push(i);o.length&&s.push({elem:u,handlers:o})}return n.length>l&&s.push({elem:this,handlers:n.slice(l)}),s},fix:function(e){if(e[x.expando])return e;var t,n,r,i=e.type,o=e,s=this.fixHooks[i];s||(this.fixHooks[i]=s=tt.test(i)?this.mouseHooks:et.test(i)?this.keyHooks:{}),r=s.props?this.props.concat(s.props):this.props,e=new x.Event(o),t=r.length;while(t--)n=r[t],e[n]=o[n];return e.target||(e.target=o.srcElement||a),3===e.target.nodeType&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,o):e},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return null==e.which&&(e.which=null!=t.charCode?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,i,o,s=n.button,l=n.fromElement;return null==e.pageX&&null!=n.clientX&&(i=e.target.ownerDocument||a,o=i.documentElement,r=i.body,e.pageX=n.clientX+(o&&o.scrollLeft||r&&r.scrollLeft||0)-(o&&o.clientLeft||r&&r.clientLeft||0),e.pageY=n.clientY+(o&&o.scrollTop||r&&r.scrollTop||0)-(o&&o.clientTop||r&&r.clientTop||0)),!e.relatedTarget&&l&&(e.relatedTarget=l===e.target?n.toElement:l),e.which||s===t||(e.which=1&s?1:2&s?3:4&s?2:0),e}},special:{load:{noBubble:!0},focus:{trigger:function(){if(this!==at()&&this.focus)try{return this.focus(),!1}catch(e){}},delegateType:"focusin"},blur:{trigger:function(){return this===at()&&this.blur?(this.blur(),!1):t},delegateType:"focusout"},click:{trigger:function(){return x.nodeName(this,"input")&&"checkbox"===this.type&&this.click?(this.click(),!1):t},_default:function(e){return x.nodeName(e.target,"a")}},beforeunload:{postDispatch:function(e){e.result!==t&&(e.originalEvent.returnValue=e.result)}}},simulate:function(e,t,n,r){var i=x.extend(new x.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?x.event.trigger(i,null,t):x.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},x.removeEvent=a.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]===i&&(e[r]=null),e.detachEvent(r,n))},x.Event=function(e,n){return this instanceof x.Event?(e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?it:ot):this.type=e,n&&x.extend(this,n),this.timeStamp=e&&e.timeStamp||x.now(),this[x.expando]=!0,t):new x.Event(e,n)},x.Event.prototype={isDefaultPrevented:ot,isPropagationStopped:ot,isImmediatePropagationStopped:ot,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=it,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=it,e&&(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=it,this.stopPropagation()}},x.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){x.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,o=e.handleObj;return(!i||i!==r&&!x.contains(r,i))&&(e.type=o.origType,n=o.handler.apply(this,arguments),e.type=t),n}}}),x.support.submitBubbles||(x.event.special.submit={setup:function(){return x.nodeName(this,"form")?!1:(x.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=x.nodeName(n,"input")||x.nodeName(n,"button")?n.form:t;r&&!x._data(r,"submitBubbles")&&(x.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),x._data(r,"submitBubbles",!0))}),t)},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&x.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){return x.nodeName(this,"form")?!1:(x.event.remove(this,"._submit"),t)}}),x.support.changeBubbles||(x.event.special.change={setup:function(){return Z.test(this.nodeName)?(("checkbox"===this.type||"radio"===this.type)&&(x.event.add(this,"propertychange._change",function(e){"checked"===e.originalEvent.propertyName&&(this._just_changed=!0)}),x.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),x.event.simulate("change",this,e,!0)})),!1):(x.event.add(this,"beforeactivate._change",function(e){var t=e.target;Z.test(t.nodeName)&&!x._data(t,"changeBubbles")&&(x.event.add(t,"change._change",function(e){!this.parentNode||e.isSimulated||e.isTrigger||x.event.simulate("change",this.parentNode,e,!0)}),x._data(t,"changeBubbles",!0))}),t)},handle:function(e){var n=e.target;return this!==n||e.isSimulated||e.isTrigger||"radio"!==n.type&&"checkbox"!==n.type?e.handleObj.handler.apply(this,arguments):t},teardown:function(){return x.event.remove(this,"._change"),!Z.test(this.nodeName)}}),x.support.focusinBubbles||x.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){x.event.simulate(t,e.target,x.event.fix(e),!0)};x.event.special[t]={setup:function(){0===n++&&a.addEventListener(e,r,!0)},teardown:function(){0===--n&&a.removeEventListener(e,r,!0)}}}),x.fn.extend({on:function(e,n,r,i,o){var a,s;if("object"==typeof e){"string"!=typeof n&&(r=r||n,n=t);for(a in e)this.on(a,n,r,e[a],o);return this}if(null==r&&null==i?(i=n,r=n=t):null==i&&("string"==typeof n?(i=r,r=t):(i=r,r=n,n=t)),i===!1)i=ot;else if(!i)return this;return 1===o&&(s=i,i=function(e){return x().off(e),s.apply(this,arguments)},i.guid=s.guid||(s.guid=x.guid++)),this.each(function(){x.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,o;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,x(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if("object"==typeof e){for(o in e)this.off(o,n,e[o]);return this}return(n===!1||"function"==typeof n)&&(r=n,n=t),r===!1&&(r=ot),this.each(function(){x.event.remove(this,e,r,n)})},trigger:function(e,t){return this.each(function(){x.event.trigger(e,t,this)})},triggerHandler:function(e,n){var r=this[0];return r?x.event.trigger(e,n,r,!0):t}});var st=/^.[^:#\[\.,]*$/,lt=/^(?:parents|prev(?:Until|All))/,ut=x.expr.match.needsContext,ct={children:!0,contents:!0,next:!0,prev:!0};x.fn.extend({find:function(e){var t,n=[],r=this,i=r.length;if("string"!=typeof e)return this.pushStack(x(e).filter(function(){for(t=0;i>t;t++)if(x.contains(r[t],this))return!0}));for(t=0;i>t;t++)x.find(e,r[t],n);return n=this.pushStack(i>1?x.unique(n):n),n.selector=this.selector?this.selector+" "+e:e,n},has:function(e){var t,n=x(e,this),r=n.length;return this.filter(function(){for(t=0;r>t;t++)if(x.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e||[],!0))},filter:function(e){return this.pushStack(ft(this,e||[],!1))},is:function(e){return!!ft(this,"string"==typeof e&&ut.test(e)?x(e):e||[],!1).length},closest:function(e,t){var n,r=0,i=this.length,o=[],a=ut.test(e)||"string"!=typeof e?x(e,t||this.context):0;for(;i>r;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(11>n.nodeType&&(a?a.index(n)>-1:1===n.nodeType&&x.find.matchesSelector(n,e))){n=o.push(n);break}return this.pushStack(o.length>1?x.unique(o):o)},index:function(e){return e?"string"==typeof e?x.inArray(this[0],x(e)):x.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){var n="string"==typeof e?x(e,t):x.makeArray(e&&e.nodeType?[e]:e),r=x.merge(this.get(),n);return this.pushStack(x.unique(r))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}});function pt(e,t){do e=e[t];while(e&&1!==e.nodeType);return e}x.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return x.dir(e,"parentNode")},parentsUntil:function(e,t,n){return x.dir(e,"parentNode",n)},next:function(e){return pt(e,"nextSibling")},prev:function(e){return pt(e,"previousSibling")},nextAll:function(e){return x.dir(e,"nextSibling")},prevAll:function(e){return x.dir(e,"previousSibling")},nextUntil:function(e,t,n){return x.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return x.dir(e,"previousSibling",n)},siblings:function(e){return x.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return x.sibling(e.firstChild)},contents:function(e){return x.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:x.merge([],e.childNodes)}},function(e,t){x.fn[e]=function(n,r){var i=x.map(this,t,n);return"Until"!==e.slice(-5)&&(r=n),r&&"string"==typeof r&&(i=x.filter(r,i)),this.length>1&&(ct[e]||(i=x.unique(i)),lt.test(e)&&(i=i.reverse())),this.pushStack(i)}}),x.extend({filter:function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?x.find.matchesSelector(r,e)?[r]:[]:x.find.matches(e,x.grep(t,function(e){return 1===e.nodeType}))},dir:function(e,n,r){var i=[],o=e[n];while(o&&9!==o.nodeType&&(r===t||1!==o.nodeType||!x(o).is(r)))1===o.nodeType&&i.push(o),o=o[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n}});function ft(e,t,n){if(x.isFunction(t))return x.grep(e,function(e,r){return!!t.call(e,r,e)!==n});if(t.nodeType)return x.grep(e,function(e){return e===t!==n});if("string"==typeof t){if(st.test(t))return x.filter(t,e,n);t=x.filter(t,e)}return x.grep(e,function(e){return x.inArray(e,t)>=0!==n})}function dt(e){var t=ht.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}var ht="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",gt=/ jQuery\d+="(?:null|\d+)"/g,mt=RegExp("<(?:"+ht+")[\\s/>]","i"),yt=/^\s+/,vt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bt=/<([\w:]+)/,xt=/<tbody/i,wt=/<|&#?\w+;/,Tt=/<(?:script|style|link)/i,Ct=/^(?:checkbox|radio)$/i,Nt=/checked\s*(?:[^=]|=\s*.checked.)/i,kt=/^$|\/(?:java|ecma)script/i,Et=/^true\/(.*)/,St=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,At={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:x.support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},jt=dt(a),Dt=jt.appendChild(a.createElement("div"));At.optgroup=At.option,At.tbody=At.tfoot=At.colgroup=At.caption=At.thead,At.th=At.td,x.fn.extend({text:function(e){return x.access(this,function(e){return e===t?x.text(this):this.empty().append((this[0]&&this[0].ownerDocument||a).createTextNode(e))},null,e,arguments.length)},append:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.appendChild(e)}})},prepend:function(){return this.domManip(arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Lt(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return this.domManip(arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},remove:function(e,t){var n,r=e?x.filter(e,this):this,i=0;for(;null!=(n=r[i]);i++)t||1!==n.nodeType||x.cleanData(Ft(n)),n.parentNode&&(t&&x.contains(n.ownerDocument,n)&&_t(Ft(n,"script")),n.parentNode.removeChild(n));return this},empty:function(){var e,t=0;for(;null!=(e=this[t]);t++){1===e.nodeType&&x.cleanData(Ft(e,!1));while(e.firstChild)e.removeChild(e.firstChild);e.options&&x.nodeName(e,"select")&&(e.options.length=0)}return this},clone:function(e,t){return e=null==e?!1:e,t=null==t?e:t,this.map(function(){return x.clone(this,e,t)})},html:function(e){return x.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return 1===n.nodeType?n.innerHTML.replace(gt,""):t;if(!("string"!=typeof e||Tt.test(e)||!x.support.htmlSerialize&&mt.test(e)||!x.support.leadingWhitespace&&yt.test(e)||At[(bt.exec(e)||["",""])[1].toLowerCase()])){e=e.replace(vt,"<$1></$2>");try{for(;i>r;r++)n=this[r]||{},1===n.nodeType&&(x.cleanData(Ft(n,!1)),n.innerHTML=e);n=0}catch(o){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var e=x.map(this,function(e){return[e.nextSibling,e.parentNode]}),t=0;return this.domManip(arguments,function(n){var r=e[t++],i=e[t++];i&&(r&&r.parentNode!==i&&(r=this.nextSibling),x(this).remove(),i.insertBefore(n,r))},!0),t?this:this.remove()},detach:function(e){return this.remove(e,!0)},domManip:function(e,t,n){e=d.apply([],e);var r,i,o,a,s,l,u=0,c=this.length,p=this,f=c-1,h=e[0],g=x.isFunction(h);if(g||!(1>=c||"string"!=typeof h||x.support.checkClone)&&Nt.test(h))return this.each(function(r){var i=p.eq(r);g&&(e[0]=h.call(this,r,i.html())),i.domManip(e,t,n)});if(c&&(l=x.buildFragment(e,this[0].ownerDocument,!1,!n&&this),r=l.firstChild,1===l.childNodes.length&&(l=r),r)){for(a=x.map(Ft(l,"script"),Ht),o=a.length;c>u;u++)i=l,u!==f&&(i=x.clone(i,!0,!0),o&&x.merge(a,Ft(i,"script"))),t.call(this[u],i,u);if(o)for(s=a[a.length-1].ownerDocument,x.map(a,qt),u=0;o>u;u++)i=a[u],kt.test(i.type||"")&&!x._data(i,"globalEval")&&x.contains(s,i)&&(i.src?x._evalUrl(i.src):x.globalEval((i.text||i.textContent||i.innerHTML||"").replace(St,"")));l=r=null}return this}});function Lt(e,t){return x.nodeName(e,"table")&&x.nodeName(1===t.nodeType?t:t.firstChild,"tr")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function Ht(e){return e.type=(null!==x.find.attr(e,"type"))+"/"+e.type,e}function qt(e){var t=Et.exec(e.type);return t?e.type=t[1]:e.removeAttribute("type"),e}function _t(e,t){var n,r=0;for(;null!=(n=e[r]);r++)x._data(n,"globalEval",!t||x._data(t[r],"globalEval"))}function Mt(e,t){if(1===t.nodeType&&x.hasData(e)){var n,r,i,o=x._data(e),a=x._data(t,o),s=o.events;if(s){delete a.handle,a.events={};for(n in s)for(r=0,i=s[n].length;i>r;r++)x.event.add(t,n,s[n][r])}a.data&&(a.data=x.extend({},a.data))}}function Ot(e,t){var n,r,i;if(1===t.nodeType){if(n=t.nodeName.toLowerCase(),!x.support.noCloneEvent&&t[x.expando]){i=x._data(t);for(r in i.events)x.removeEvent(t,r,i.handle);t.removeAttribute(x.expando)}"script"===n&&t.text!==e.text?(Ht(t).text=e.text,qt(t)):"object"===n?(t.parentNode&&(t.outerHTML=e.outerHTML),x.support.html5Clone&&e.innerHTML&&!x.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):"input"===n&&Ct.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):"option"===n?t.defaultSelected=t.selected=e.defaultSelected:("input"===n||"textarea"===n)&&(t.defaultValue=e.defaultValue)}}x.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){x.fn[e]=function(e){var n,r=0,i=[],o=x(e),a=o.length-1;for(;a>=r;r++)n=r===a?this:this.clone(!0),x(o[r])[t](n),h.apply(i,n.get());return this.pushStack(i)}});function Ft(e,n){var r,o,a=0,s=typeof e.getElementsByTagName!==i?e.getElementsByTagName(n||"*"):typeof e.querySelectorAll!==i?e.querySelectorAll(n||"*"):t;if(!s)for(s=[],r=e.childNodes||e;null!=(o=r[a]);a++)!n||x.nodeName(o,n)?s.push(o):x.merge(s,Ft(o,n));return n===t||n&&x.nodeName(e,n)?x.merge([e],s):s}function Bt(e){Ct.test(e.type)&&(e.defaultChecked=e.checked)}x.extend({clone:function(e,t,n){var r,i,o,a,s,l=x.contains(e.ownerDocument,e);if(x.support.html5Clone||x.isXMLDoc(e)||!mt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(Dt.innerHTML=e.outerHTML,Dt.removeChild(o=Dt.firstChild)),!(x.support.noCloneEvent&&x.support.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||x.isXMLDoc(e)))for(r=Ft(o),s=Ft(e),a=0;null!=(i=s[a]);++a)r[a]&&Ot(i,r[a]);if(t)if(n)for(s=s||Ft(e),r=r||Ft(o),a=0;null!=(i=s[a]);a++)Mt(i,r[a]);else Mt(e,o);return r=Ft(o,"script"),r.length>0&&_t(r,!l&&Ft(e,"script")),r=s=i=null,o},buildFragment:function(e,t,n,r){var i,o,a,s,l,u,c,p=e.length,f=dt(t),d=[],h=0;for(;p>h;h++)if(o=e[h],o||0===o)if("object"===x.type(o))x.merge(d,o.nodeType?[o]:o);else if(wt.test(o)){s=s||f.appendChild(t.createElement("div")),l=(bt.exec(o)||["",""])[1].toLowerCase(),c=At[l]||At._default,s.innerHTML=c[1]+o.replace(vt,"<$1></$2>")+c[2],i=c[0];while(i--)s=s.lastChild;if(!x.support.leadingWhitespace&&yt.test(o)&&d.push(t.createTextNode(yt.exec(o)[0])),!x.support.tbody){o="table"!==l||xt.test(o)?"<table>"!==c[1]||xt.test(o)?0:s:s.firstChild,i=o&&o.childNodes.length;while(i--)x.nodeName(u=o.childNodes[i],"tbody")&&!u.childNodes.length&&o.removeChild(u)}x.merge(d,s.childNodes),s.textContent="";while(s.firstChild)s.removeChild(s.firstChild);s=f.lastChild}else d.push(t.createTextNode(o));s&&f.removeChild(s),x.support.appendChecked||x.grep(Ft(d,"input"),Bt),h=0;while(o=d[h++])if((!r||-1===x.inArray(o,r))&&(a=x.contains(o.ownerDocument,o),s=Ft(f.appendChild(o),"script"),a&&_t(s),n)){i=0;while(o=s[i++])kt.test(o.type||"")&&n.push(o)}return s=null,f},cleanData:function(e,t){var n,r,o,a,s=0,l=x.expando,u=x.cache,c=x.support.deleteExpando,f=x.event.special;for(;null!=(n=e[s]);s++)if((t||x.acceptData(n))&&(o=n[l],a=o&&u[o])){if(a.events)for(r in a.events)f[r]?x.event.remove(n,r):x.removeEvent(n,r,a.handle);
11
- u[o]&&(delete u[o],c?delete n[l]:typeof n.removeAttribute!==i?n.removeAttribute(l):n[l]=null,p.push(o))}},_evalUrl:function(e){return x.ajax({url:e,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})}}),x.fn.extend({wrapAll:function(e){if(x.isFunction(e))return this.each(function(t){x(this).wrapAll(e.call(this,t))});if(this[0]){var t=x(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&1===e.firstChild.nodeType)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return x.isFunction(e)?this.each(function(t){x(this).wrapInner(e.call(this,t))}):this.each(function(){var t=x(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=x.isFunction(e);return this.each(function(n){x(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){x.nodeName(this,"body")||x(this).replaceWith(this.childNodes)}).end()}});var Pt,Rt,Wt,$t=/alpha\([^)]*\)/i,It=/opacity\s*=\s*([^)]*)/,zt=/^(top|right|bottom|left)$/,Xt=/^(none|table(?!-c[ea]).+)/,Ut=/^margin/,Vt=RegExp("^("+w+")(.*)$","i"),Yt=RegExp("^("+w+")(?!px)[a-z%]+$","i"),Jt=RegExp("^([+-])=("+w+")","i"),Gt={BODY:"block"},Qt={position:"absolute",visibility:"hidden",display:"block"},Kt={letterSpacing:0,fontWeight:400},Zt=["Top","Right","Bottom","Left"],en=["Webkit","O","Moz","ms"];function tn(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=en.length;while(i--)if(t=en[i]+n,t in e)return t;return r}function nn(e,t){return e=t||e,"none"===x.css(e,"display")||!x.contains(e.ownerDocument,e)}function rn(e,t){var n,r,i,o=[],a=0,s=e.length;for(;s>a;a++)r=e[a],r.style&&(o[a]=x._data(r,"olddisplay"),n=r.style.display,t?(o[a]||"none"!==n||(r.style.display=""),""===r.style.display&&nn(r)&&(o[a]=x._data(r,"olddisplay",ln(r.nodeName)))):o[a]||(i=nn(r),(n&&"none"!==n||!i)&&x._data(r,"olddisplay",i?n:x.css(r,"display"))));for(a=0;s>a;a++)r=e[a],r.style&&(t&&"none"!==r.style.display&&""!==r.style.display||(r.style.display=t?o[a]||"":"none"));return e}x.fn.extend({css:function(e,n){return x.access(this,function(e,n,r){var i,o,a={},s=0;if(x.isArray(n)){for(o=Rt(e),i=n.length;i>s;s++)a[n[s]]=x.css(e,n[s],!1,o);return a}return r!==t?x.style(e,n,r):x.css(e,n)},e,n,arguments.length>1)},show:function(){return rn(this,!0)},hide:function(){return rn(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){nn(this)?x(this).show():x(this).hide()})}}),x.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Wt(e,"opacity");return""===n?"1":n}}}},cssNumber:{columnCount:!0,fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":x.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var o,a,s,l=x.camelCase(n),u=e.style;if(n=x.cssProps[l]||(x.cssProps[l]=tn(u,l)),s=x.cssHooks[n]||x.cssHooks[l],r===t)return s&&"get"in s&&(o=s.get(e,!1,i))!==t?o:u[n];if(a=typeof r,"string"===a&&(o=Jt.exec(r))&&(r=(o[1]+1)*o[2]+parseFloat(x.css(e,n)),a="number"),!(null==r||"number"===a&&isNaN(r)||("number"!==a||x.cssNumber[l]||(r+="px"),x.support.clearCloneStyle||""!==r||0!==n.indexOf("background")||(u[n]="inherit"),s&&"set"in s&&(r=s.set(e,r,i))===t)))try{u[n]=r}catch(c){}}},css:function(e,n,r,i){var o,a,s,l=x.camelCase(n);return n=x.cssProps[l]||(x.cssProps[l]=tn(e.style,l)),s=x.cssHooks[n]||x.cssHooks[l],s&&"get"in s&&(a=s.get(e,!0,r)),a===t&&(a=Wt(e,n,i)),"normal"===a&&n in Kt&&(a=Kt[n]),""===r||r?(o=parseFloat(a),r===!0||x.isNumeric(o)?o||0:a):a}}),e.getComputedStyle?(Rt=function(t){return e.getComputedStyle(t,null)},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s.getPropertyValue(n)||s[n]:t,u=e.style;return s&&(""!==l||x.contains(e.ownerDocument,e)||(l=x.style(e,n)),Yt.test(l)&&Ut.test(n)&&(i=u.width,o=u.minWidth,a=u.maxWidth,u.minWidth=u.maxWidth=u.width=l,l=s.width,u.width=i,u.minWidth=o,u.maxWidth=a)),l}):a.documentElement.currentStyle&&(Rt=function(e){return e.currentStyle},Wt=function(e,n,r){var i,o,a,s=r||Rt(e),l=s?s[n]:t,u=e.style;return null==l&&u&&u[n]&&(l=u[n]),Yt.test(l)&&!zt.test(n)&&(i=u.left,o=e.runtimeStyle,a=o&&o.left,a&&(o.left=e.currentStyle.left),u.left="fontSize"===n?"1em":l,l=u.pixelLeft+"px",u.left=i,a&&(o.left=a)),""===l?"auto":l});function on(e,t,n){var r=Vt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function an(e,t,n,r,i){var o=n===(r?"border":"content")?4:"width"===t?1:0,a=0;for(;4>o;o+=2)"margin"===n&&(a+=x.css(e,n+Zt[o],!0,i)),r?("content"===n&&(a-=x.css(e,"padding"+Zt[o],!0,i)),"margin"!==n&&(a-=x.css(e,"border"+Zt[o]+"Width",!0,i))):(a+=x.css(e,"padding"+Zt[o],!0,i),"padding"!==n&&(a+=x.css(e,"border"+Zt[o]+"Width",!0,i)));return a}function sn(e,t,n){var r=!0,i="width"===t?e.offsetWidth:e.offsetHeight,o=Rt(e),a=x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,o);if(0>=i||null==i){if(i=Wt(e,t,o),(0>i||null==i)&&(i=e.style[t]),Yt.test(i))return i;r=a&&(x.support.boxSizingReliable||i===e.style[t]),i=parseFloat(i)||0}return i+an(e,t,n||(a?"border":"content"),r,o)+"px"}function ln(e){var t=a,n=Gt[e];return n||(n=un(e,t),"none"!==n&&n||(Pt=(Pt||x("<iframe frameborder='0' width='0' height='0'/>").css("cssText","display:block !important")).appendTo(t.documentElement),t=(Pt[0].contentWindow||Pt[0].contentDocument).document,t.write("<!doctype html><html><body>"),t.close(),n=un(e,t),Pt.detach()),Gt[e]=n),n}function un(e,t){var n=x(t.createElement(e)).appendTo(t.body),r=x.css(n[0],"display");return n.remove(),r}x.each(["height","width"],function(e,n){x.cssHooks[n]={get:function(e,r,i){return r?0===e.offsetWidth&&Xt.test(x.css(e,"display"))?x.swap(e,Qt,function(){return sn(e,n,i)}):sn(e,n,i):t},set:function(e,t,r){var i=r&&Rt(e);return on(e,t,r?an(e,n,r,x.support.boxSizing&&"border-box"===x.css(e,"boxSizing",!1,i),i):0)}}}),x.support.opacity||(x.cssHooks.opacity={get:function(e,t){return It.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=x.isNumeric(t)?"alpha(opacity="+100*t+")":"",o=r&&r.filter||n.filter||"";n.zoom=1,(t>=1||""===t)&&""===x.trim(o.replace($t,""))&&n.removeAttribute&&(n.removeAttribute("filter"),""===t||r&&!r.filter)||(n.filter=$t.test(o)?o.replace($t,i):o+" "+i)}}),x(function(){x.support.reliableMarginRight||(x.cssHooks.marginRight={get:function(e,n){return n?x.swap(e,{display:"inline-block"},Wt,[e,"marginRight"]):t}}),!x.support.pixelPosition&&x.fn.position&&x.each(["top","left"],function(e,n){x.cssHooks[n]={get:function(e,r){return r?(r=Wt(e,n),Yt.test(r)?x(e).position()[n]+"px":r):t}}})}),x.expr&&x.expr.filters&&(x.expr.filters.hidden=function(e){return 0>=e.offsetWidth&&0>=e.offsetHeight||!x.support.reliableHiddenOffsets&&"none"===(e.style&&e.style.display||x.css(e,"display"))},x.expr.filters.visible=function(e){return!x.expr.filters.hidden(e)}),x.each({margin:"",padding:"",border:"Width"},function(e,t){x.cssHooks[e+t]={expand:function(n){var r=0,i={},o="string"==typeof n?n.split(" "):[n];for(;4>r;r++)i[e+Zt[r]+t]=o[r]||o[r-2]||o[0];return i}},Ut.test(e)||(x.cssHooks[e+t].set=on)});var cn=/%20/g,pn=/\[\]$/,fn=/\r?\n/g,dn=/^(?:submit|button|image|reset|file)$/i,hn=/^(?:input|select|textarea|keygen)/i;x.fn.extend({serialize:function(){return x.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=x.prop(this,"elements");return e?x.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!x(this).is(":disabled")&&hn.test(this.nodeName)&&!dn.test(e)&&(this.checked||!Ct.test(e))}).map(function(e,t){var n=x(this).val();return null==n?null:x.isArray(n)?x.map(n,function(e){return{name:t.name,value:e.replace(fn,"\r\n")}}):{name:t.name,value:n.replace(fn,"\r\n")}}).get()}}),x.param=function(e,n){var r,i=[],o=function(e,t){t=x.isFunction(t)?t():null==t?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};if(n===t&&(n=x.ajaxSettings&&x.ajaxSettings.traditional),x.isArray(e)||e.jquery&&!x.isPlainObject(e))x.each(e,function(){o(this.name,this.value)});else for(r in e)gn(r,e[r],n,o);return i.join("&").replace(cn,"+")};function gn(e,t,n,r){var i;if(x.isArray(t))x.each(t,function(t,i){n||pn.test(e)?r(e,i):gn(e+"["+("object"==typeof i?t:"")+"]",i,n,r)});else if(n||"object"!==x.type(t))r(e,t);else for(i in t)gn(e+"["+i+"]",t[i],n,r)}x.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){x.fn[t]=function(e,n){return arguments.length>0?this.on(t,null,e,n):this.trigger(t)}}),x.fn.extend({hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)}});var mn,yn,vn=x.now(),bn=/\?/,xn=/#.*$/,wn=/([?&])_=[^&]*/,Tn=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,Cn=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Nn=/^(?:GET|HEAD)$/,kn=/^\/\//,En=/^([\w.+-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,Sn=x.fn.load,An={},jn={},Dn="*/".concat("*");try{yn=o.href}catch(Ln){yn=a.createElement("a"),yn.href="",yn=yn.href}mn=En.exec(yn.toLowerCase())||[];function Hn(e){return function(t,n){"string"!=typeof t&&(n=t,t="*");var r,i=0,o=t.toLowerCase().match(T)||[];if(x.isFunction(n))while(r=o[i++])"+"===r[0]?(r=r.slice(1)||"*",(e[r]=e[r]||[]).unshift(n)):(e[r]=e[r]||[]).push(n)}}function qn(e,n,r,i){var o={},a=e===jn;function s(l){var u;return o[l]=!0,x.each(e[l]||[],function(e,l){var c=l(n,r,i);return"string"!=typeof c||a||o[c]?a?!(u=c):t:(n.dataTypes.unshift(c),s(c),!1)}),u}return s(n.dataTypes[0])||!o["*"]&&s("*")}function _n(e,n){var r,i,o=x.ajaxSettings.flatOptions||{};for(i in n)n[i]!==t&&((o[i]?e:r||(r={}))[i]=n[i]);return r&&x.extend(!0,e,r),e}x.fn.load=function(e,n,r){if("string"!=typeof e&&Sn)return Sn.apply(this,arguments);var i,o,a,s=this,l=e.indexOf(" ");return l>=0&&(i=e.slice(l,e.length),e=e.slice(0,l)),x.isFunction(n)?(r=n,n=t):n&&"object"==typeof n&&(a="POST"),s.length>0&&x.ajax({url:e,type:a,dataType:"html",data:n}).done(function(e){o=arguments,s.html(i?x("<div>").append(x.parseHTML(e)).find(i):e)}).complete(r&&function(e,t){s.each(r,o||[e.responseText,t,e])}),this},x.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){x.fn[t]=function(e){return this.on(t,e)}}),x.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:yn,type:"GET",isLocal:Cn.test(mn[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Dn,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":x.parseJSON,"text xml":x.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?_n(_n(e,x.ajaxSettings),t):_n(x.ajaxSettings,e)},ajaxPrefilter:Hn(An),ajaxTransport:Hn(jn),ajax:function(e,n){"object"==typeof e&&(n=e,e=t),n=n||{};var r,i,o,a,s,l,u,c,p=x.ajaxSetup({},n),f=p.context||p,d=p.context&&(f.nodeType||f.jquery)?x(f):x.event,h=x.Deferred(),g=x.Callbacks("once memory"),m=p.statusCode||{},y={},v={},b=0,w="canceled",C={readyState:0,getResponseHeader:function(e){var t;if(2===b){if(!c){c={};while(t=Tn.exec(a))c[t[1].toLowerCase()]=t[2]}t=c[e.toLowerCase()]}return null==t?null:t},getAllResponseHeaders:function(){return 2===b?a:null},setRequestHeader:function(e,t){var n=e.toLowerCase();return b||(e=v[n]=v[n]||e,y[e]=t),this},overrideMimeType:function(e){return b||(p.mimeType=e),this},statusCode:function(e){var t;if(e)if(2>b)for(t in e)m[t]=[m[t],e[t]];else C.always(e[C.status]);return this},abort:function(e){var t=e||w;return u&&u.abort(t),k(0,t),this}};if(h.promise(C).complete=g.add,C.success=C.done,C.error=C.fail,p.url=((e||p.url||yn)+"").replace(xn,"").replace(kn,mn[1]+"//"),p.type=n.method||n.type||p.method||p.type,p.dataTypes=x.trim(p.dataType||"*").toLowerCase().match(T)||[""],null==p.crossDomain&&(r=En.exec(p.url.toLowerCase()),p.crossDomain=!(!r||r[1]===mn[1]&&r[2]===mn[2]&&(r[3]||("http:"===r[1]?"80":"443"))===(mn[3]||("http:"===mn[1]?"80":"443")))),p.data&&p.processData&&"string"!=typeof p.data&&(p.data=x.param(p.data,p.traditional)),qn(An,p,n,C),2===b)return C;l=p.global,l&&0===x.active++&&x.event.trigger("ajaxStart"),p.type=p.type.toUpperCase(),p.hasContent=!Nn.test(p.type),o=p.url,p.hasContent||(p.data&&(o=p.url+=(bn.test(o)?"&":"?")+p.data,delete p.data),p.cache===!1&&(p.url=wn.test(o)?o.replace(wn,"$1_="+vn++):o+(bn.test(o)?"&":"?")+"_="+vn++)),p.ifModified&&(x.lastModified[o]&&C.setRequestHeader("If-Modified-Since",x.lastModified[o]),x.etag[o]&&C.setRequestHeader("If-None-Match",x.etag[o])),(p.data&&p.hasContent&&p.contentType!==!1||n.contentType)&&C.setRequestHeader("Content-Type",p.contentType),C.setRequestHeader("Accept",p.dataTypes[0]&&p.accepts[p.dataTypes[0]]?p.accepts[p.dataTypes[0]]+("*"!==p.dataTypes[0]?", "+Dn+"; q=0.01":""):p.accepts["*"]);for(i in p.headers)C.setRequestHeader(i,p.headers[i]);if(p.beforeSend&&(p.beforeSend.call(f,C,p)===!1||2===b))return C.abort();w="abort";for(i in{success:1,error:1,complete:1})C[i](p[i]);if(u=qn(jn,p,n,C)){C.readyState=1,l&&d.trigger("ajaxSend",[C,p]),p.async&&p.timeout>0&&(s=setTimeout(function(){C.abort("timeout")},p.timeout));try{b=1,u.send(y,k)}catch(N){if(!(2>b))throw N;k(-1,N)}}else k(-1,"No Transport");function k(e,n,r,i){var c,y,v,w,T,N=n;2!==b&&(b=2,s&&clearTimeout(s),u=t,a=i||"",C.readyState=e>0?4:0,c=e>=200&&300>e||304===e,r&&(w=Mn(p,C,r)),w=On(p,w,C,c),c?(p.ifModified&&(T=C.getResponseHeader("Last-Modified"),T&&(x.lastModified[o]=T),T=C.getResponseHeader("etag"),T&&(x.etag[o]=T)),204===e||"HEAD"===p.type?N="nocontent":304===e?N="notmodified":(N=w.state,y=w.data,v=w.error,c=!v)):(v=N,(e||!N)&&(N="error",0>e&&(e=0))),C.status=e,C.statusText=(n||N)+"",c?h.resolveWith(f,[y,N,C]):h.rejectWith(f,[C,N,v]),C.statusCode(m),m=t,l&&d.trigger(c?"ajaxSuccess":"ajaxError",[C,p,c?y:v]),g.fireWith(f,[C,N]),l&&(d.trigger("ajaxComplete",[C,p]),--x.active||x.event.trigger("ajaxStop")))}return C},getJSON:function(e,t,n){return x.get(e,t,n,"json")},getScript:function(e,n){return x.get(e,t,n,"script")}}),x.each(["get","post"],function(e,n){x[n]=function(e,r,i,o){return x.isFunction(r)&&(o=o||i,i=r,r=t),x.ajax({url:e,type:n,dataType:o,data:r,success:i})}});function Mn(e,n,r){var i,o,a,s,l=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),o===t&&(o=e.mimeType||n.getResponseHeader("Content-Type"));if(o)for(s in l)if(l[s]&&l[s].test(o)){u.unshift(s);break}if(u[0]in r)a=u[0];else{for(s in r){if(!u[0]||e.converters[s+" "+u[0]]){a=s;break}i||(i=s)}a=a||i}return a?(a!==u[0]&&u.unshift(a),r[a]):t}function On(e,t,n,r){var i,o,a,s,l,u={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)u[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!l&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),l=o,o=c.shift())if("*"===o)o=l;else if("*"!==l&&l!==o){if(a=u[l+" "+o]||u["* "+o],!a)for(i in u)if(s=i.split(" "),s[1]===o&&(a=u[l+" "+s[0]]||u["* "+s[0]])){a===!0?a=u[i]:u[i]!==!0&&(o=s[0],c.unshift(s[1]));break}if(a!==!0)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(p){return{state:"parsererror",error:a?p:"No conversion from "+l+" to "+o}}}return{state:"success",data:t}}x.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(e){return x.globalEval(e),e}}}),x.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),x.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=a.head||x("head")[0]||a.documentElement;return{send:function(t,i){n=a.createElement("script"),n.async=!0,e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,t){(t||!n.readyState||/loaded|complete/.test(n.readyState))&&(n.onload=n.onreadystatechange=null,n.parentNode&&n.parentNode.removeChild(n),n=null,t||i(200,"success"))},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(t,!0)}}}});var Fn=[],Bn=/(=)\?(?=&|$)|\?\?/;x.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Fn.pop()||x.expando+"_"+vn++;return this[e]=!0,e}}),x.ajaxPrefilter("json jsonp",function(n,r,i){var o,a,s,l=n.jsonp!==!1&&(Bn.test(n.url)?"url":"string"==typeof n.data&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Bn.test(n.data)&&"data");return l||"jsonp"===n.dataTypes[0]?(o=n.jsonpCallback=x.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,l?n[l]=n[l].replace(Bn,"$1"+o):n.jsonp!==!1&&(n.url+=(bn.test(n.url)?"&":"?")+n.jsonp+"="+o),n.converters["script json"]=function(){return s||x.error(o+" was not called"),s[0]},n.dataTypes[0]="json",a=e[o],e[o]=function(){s=arguments},i.always(function(){e[o]=a,n[o]&&(n.jsonpCallback=r.jsonpCallback,Fn.push(o)),s&&x.isFunction(a)&&a(s[0]),s=a=t}),"script"):t});var Pn,Rn,Wn=0,$n=e.ActiveXObject&&function(){var e;for(e in Pn)Pn[e](t,!0)};function In(){try{return new e.XMLHttpRequest}catch(t){}}function zn(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}x.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&In()||zn()}:In,Rn=x.ajaxSettings.xhr(),x.support.cors=!!Rn&&"withCredentials"in Rn,Rn=x.support.ajax=!!Rn,Rn&&x.ajaxTransport(function(n){if(!n.crossDomain||x.support.cors){var r;return{send:function(i,o){var a,s,l=n.xhr();if(n.username?l.open(n.type,n.url,n.async,n.username,n.password):l.open(n.type,n.url,n.async),n.xhrFields)for(s in n.xhrFields)l[s]=n.xhrFields[s];n.mimeType&&l.overrideMimeType&&l.overrideMimeType(n.mimeType),n.crossDomain||i["X-Requested-With"]||(i["X-Requested-With"]="XMLHttpRequest");try{for(s in i)l.setRequestHeader(s,i[s])}catch(u){}l.send(n.hasContent&&n.data||null),r=function(e,i){var s,u,c,p;try{if(r&&(i||4===l.readyState))if(r=t,a&&(l.onreadystatechange=x.noop,$n&&delete Pn[a]),i)4!==l.readyState&&l.abort();else{p={},s=l.status,u=l.getAllResponseHeaders(),"string"==typeof l.responseText&&(p.text=l.responseText);try{c=l.statusText}catch(f){c=""}s||!n.isLocal||n.crossDomain?1223===s&&(s=204):s=p.text?200:404}}catch(d){i||o(-1,d)}p&&o(s,c,p,u)},n.async?4===l.readyState?setTimeout(r):(a=++Wn,$n&&(Pn||(Pn={},x(e).unload($n)),Pn[a]=r),l.onreadystatechange=r):r()},abort:function(){r&&r(t,!0)}}}});var Xn,Un,Vn=/^(?:toggle|show|hide)$/,Yn=RegExp("^(?:([+-])=|)("+w+")([a-z%]*)$","i"),Jn=/queueHooks$/,Gn=[nr],Qn={"*":[function(e,t){var n=this.createTween(e,t),r=n.cur(),i=Yn.exec(t),o=i&&i[3]||(x.cssNumber[e]?"":"px"),a=(x.cssNumber[e]||"px"!==o&&+r)&&Yn.exec(x.css(n.elem,e)),s=1,l=20;if(a&&a[3]!==o){o=o||a[3],i=i||[],a=+r||1;do s=s||".5",a/=s,x.style(n.elem,e,a+o);while(s!==(s=n.cur()/r)&&1!==s&&--l)}return i&&(a=n.start=+a||+r||0,n.unit=o,n.end=i[1]?a+(i[1]+1)*i[2]:+i[2]),n}]};function Kn(){return setTimeout(function(){Xn=t}),Xn=x.now()}function Zn(e,t,n){var r,i=(Qn[t]||[]).concat(Qn["*"]),o=0,a=i.length;for(;a>o;o++)if(r=i[o].call(n,t,e))return r}function er(e,t,n){var r,i,o=0,a=Gn.length,s=x.Deferred().always(function(){delete l.elem}),l=function(){if(i)return!1;var t=Xn||Kn(),n=Math.max(0,u.startTime+u.duration-t),r=n/u.duration||0,o=1-r,a=0,l=u.tweens.length;for(;l>a;a++)u.tweens[a].run(o);return s.notifyWith(e,[u,o,n]),1>o&&l?n:(s.resolveWith(e,[u]),!1)},u=s.promise({elem:e,props:x.extend({},t),opts:x.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:Xn||Kn(),duration:n.duration,tweens:[],createTween:function(t,n){var r=x.Tween(e,u.opts,t,n,u.opts.specialEasing[t]||u.opts.easing);return u.tweens.push(r),r},stop:function(t){var n=0,r=t?u.tweens.length:0;if(i)return this;for(i=!0;r>n;n++)u.tweens[n].run(1);return t?s.resolveWith(e,[u,t]):s.rejectWith(e,[u,t]),this}}),c=u.props;for(tr(c,u.opts.specialEasing);a>o;o++)if(r=Gn[o].call(u,e,c,u.opts))return r;return x.map(c,Zn,u),x.isFunction(u.opts.start)&&u.opts.start.call(e,u),x.fx.timer(x.extend(l,{elem:e,anim:u,queue:u.opts.queue})),u.progress(u.opts.progress).done(u.opts.done,u.opts.complete).fail(u.opts.fail).always(u.opts.always)}function tr(e,t){var n,r,i,o,a;for(n in e)if(r=x.camelCase(n),i=t[r],o=e[n],x.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),a=x.cssHooks[r],a&&"expand"in a){o=a.expand(o),delete e[r];for(n in o)n in e||(e[n]=o[n],t[n]=i)}else t[r]=i}x.Animation=x.extend(er,{tweener:function(e,t){x.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;i>r;r++)n=e[r],Qn[n]=Qn[n]||[],Qn[n].unshift(t)},prefilter:function(e,t){t?Gn.unshift(e):Gn.push(e)}});function nr(e,t,n){var r,i,o,a,s,l,u=this,c={},p=e.style,f=e.nodeType&&nn(e),d=x._data(e,"fxshow");n.queue||(s=x._queueHooks(e,"fx"),null==s.unqueued&&(s.unqueued=0,l=s.empty.fire,s.empty.fire=function(){s.unqueued||l()}),s.unqueued++,u.always(function(){u.always(function(){s.unqueued--,x.queue(e,"fx").length||s.empty.fire()})})),1===e.nodeType&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],"inline"===x.css(e,"display")&&"none"===x.css(e,"float")&&(x.support.inlineBlockNeedsLayout&&"inline"!==ln(e.nodeName)?p.zoom=1:p.display="inline-block")),n.overflow&&(p.overflow="hidden",x.support.shrinkWrapBlocks||u.always(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t)if(i=t[r],Vn.exec(i)){if(delete t[r],o=o||"toggle"===i,i===(f?"hide":"show"))continue;c[r]=d&&d[r]||x.style(e,r)}if(!x.isEmptyObject(c)){d?"hidden"in d&&(f=d.hidden):d=x._data(e,"fxshow",{}),o&&(d.hidden=!f),f?x(e).show():u.done(function(){x(e).hide()}),u.done(function(){var t;x._removeData(e,"fxshow");for(t in c)x.style(e,t,c[t])});for(r in c)a=Zn(f?d[r]:0,r,u),r in d||(d[r]=a.start,f&&(a.end=a.start,a.start="width"===r||"height"===r?1:0))}}function rr(e,t,n,r,i){return new rr.prototype.init(e,t,n,r,i)}x.Tween=rr,rr.prototype={constructor:rr,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(x.cssNumber[n]?"":"px")},cur:function(){var e=rr.propHooks[this.prop];return e&&e.get?e.get(this):rr.propHooks._default.get(this)},run:function(e){var t,n=rr.propHooks[this.prop];return this.pos=t=this.options.duration?x.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):rr.propHooks._default.set(this),this}},rr.prototype.init.prototype=rr.prototype,rr.propHooks={_default:{get:function(e){var t;return null==e.elem[e.prop]||e.elem.style&&null!=e.elem.style[e.prop]?(t=x.css(e.elem,e.prop,""),t&&"auto"!==t?t:0):e.elem[e.prop]},set:function(e){x.fx.step[e.prop]?x.fx.step[e.prop](e):e.elem.style&&(null!=e.elem.style[x.cssProps[e.prop]]||x.cssHooks[e.prop])?x.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},rr.propHooks.scrollTop=rr.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},x.each(["toggle","show","hide"],function(e,t){var n=x.fn[t];x.fn[t]=function(e,r,i){return null==e||"boolean"==typeof e?n.apply(this,arguments):this.animate(ir(t,!0),e,r,i)}}),x.fn.extend({fadeTo:function(e,t,n,r){return this.filter(nn).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=x.isEmptyObject(e),o=x.speed(t,n,r),a=function(){var t=er(this,x.extend({},e),o);(i||x._data(this,"finish"))&&t.stop(!0)};return a.finish=a,i||o.queue===!1?this.each(a):this.queue(o.queue,a)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return"string"!=typeof e&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=null!=e&&e+"queueHooks",o=x.timers,a=x._data(this);if(n)a[n]&&a[n].stop&&i(a[n]);else for(n in a)a[n]&&a[n].stop&&Jn.test(n)&&i(a[n]);for(n=o.length;n--;)o[n].elem!==this||null!=e&&o[n].queue!==e||(o[n].anim.stop(r),t=!1,o.splice(n,1));(t||!r)&&x.dequeue(this,e)})},finish:function(e){return e!==!1&&(e=e||"fx"),this.each(function(){var t,n=x._data(this),r=n[e+"queue"],i=n[e+"queueHooks"],o=x.timers,a=r?r.length:0;for(n.finish=!0,x.queue(this,e,[]),i&&i.stop&&i.stop.call(this,!0),t=o.length;t--;)o[t].elem===this&&o[t].queue===e&&(o[t].anim.stop(!0),o.splice(t,1));for(t=0;a>t;t++)r[t]&&r[t].finish&&r[t].finish.call(this);delete n.finish})}});function ir(e,t){var n,r={height:e},i=0;for(t=t?1:0;4>i;i+=2-t)n=Zt[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}x.each({slideDown:ir("show"),slideUp:ir("hide"),slideToggle:ir("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){x.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),x.speed=function(e,t,n){var r=e&&"object"==typeof e?x.extend({},e):{complete:n||!n&&t||x.isFunction(e)&&e,duration:e,easing:n&&t||t&&!x.isFunction(t)&&t};return r.duration=x.fx.off?0:"number"==typeof r.duration?r.duration:r.duration in x.fx.speeds?x.fx.speeds[r.duration]:x.fx.speeds._default,(null==r.queue||r.queue===!0)&&(r.queue="fx"),r.old=r.complete,r.complete=function(){x.isFunction(r.old)&&r.old.call(this),r.queue&&x.dequeue(this,r.queue)},r},x.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},x.timers=[],x.fx=rr.prototype.init,x.fx.tick=function(){var e,n=x.timers,r=0;for(Xn=x.now();n.length>r;r++)e=n[r],e()||n[r]!==e||n.splice(r--,1);n.length||x.fx.stop(),Xn=t},x.fx.timer=function(e){e()&&x.timers.push(e)&&x.fx.start()},x.fx.interval=13,x.fx.start=function(){Un||(Un=setInterval(x.fx.tick,x.fx.interval))},x.fx.stop=function(){clearInterval(Un),Un=null},x.fx.speeds={slow:600,fast:200,_default:400},x.fx.step={},x.expr&&x.expr.filters&&(x.expr.filters.animated=function(e){return x.grep(x.timers,function(t){return e===t.elem}).length}),x.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){x.offset.setOffset(this,e,t)});var n,r,o={top:0,left:0},a=this[0],s=a&&a.ownerDocument;if(s)return n=s.documentElement,x.contains(n,a)?(typeof a.getBoundingClientRect!==i&&(o=a.getBoundingClientRect()),r=or(s),{top:o.top+(r.pageYOffset||n.scrollTop)-(n.clientTop||0),left:o.left+(r.pageXOffset||n.scrollLeft)-(n.clientLeft||0)}):o},x.offset={setOffset:function(e,t,n){var r=x.css(e,"position");"static"===r&&(e.style.position="relative");var i=x(e),o=i.offset(),a=x.css(e,"top"),s=x.css(e,"left"),l=("absolute"===r||"fixed"===r)&&x.inArray("auto",[a,s])>-1,u={},c={},p,f;l?(c=i.position(),p=c.top,f=c.left):(p=parseFloat(a)||0,f=parseFloat(s)||0),x.isFunction(t)&&(t=t.call(e,n,o)),null!=t.top&&(u.top=t.top-o.top+p),null!=t.left&&(u.left=t.left-o.left+f),"using"in t?t.using.call(e,u):i.css(u)}},x.fn.extend({position:function(){if(this[0]){var e,t,n={top:0,left:0},r=this[0];return"fixed"===x.css(r,"position")?t=r.getBoundingClientRect():(e=this.offsetParent(),t=this.offset(),x.nodeName(e[0],"html")||(n=e.offset()),n.top+=x.css(e[0],"borderTopWidth",!0),n.left+=x.css(e[0],"borderLeftWidth",!0)),{top:t.top-n.top-x.css(r,"marginTop",!0),left:t.left-n.left-x.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||s;while(e&&!x.nodeName(e,"html")&&"static"===x.css(e,"position"))e=e.offsetParent;return e||s})}}),x.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);x.fn[e]=function(i){return x.access(this,function(e,i,o){var a=or(e);return o===t?a?n in a?a[n]:a.document.documentElement[i]:e[i]:(a?a.scrollTo(r?x(a).scrollLeft():o,r?o:x(a).scrollTop()):e[i]=o,t)},e,i,arguments.length,null)}});function or(e){return x.isWindow(e)?e:9===e.nodeType?e.defaultView||e.parentWindow:!1}x.each({Height:"height",Width:"width"},function(e,n){x.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){x.fn[i]=function(i,o){var a=arguments.length&&(r||"boolean"!=typeof i),s=r||(i===!0||o===!0?"margin":"border");return x.access(this,function(n,r,i){var o;return x.isWindow(n)?n.document.documentElement["client"+e]:9===n.nodeType?(o=n.documentElement,Math.max(n.body["scroll"+e],o["scroll"+e],n.body["offset"+e],o["offset"+e],o["client"+e])):i===t?x.css(n,r,s):x.style(n,r,i,s)},n,a?i:t,a,null)}})}),x.fn.size=function(){return this.length},x.fn.andSelf=x.fn.addBack,"object"==typeof module&&module&&"object"==typeof module.exports?module.exports=x:(e.jQuery=e.$=x,"function"==typeof define&&define.amd&&define("jquery",[],function(){return x}))})(window);
12
-
13
-
14
- pjQuery_1_10_2 = jQuery.noConflict(deepNoConfict);
15
- };