Advertisement
Guest User

Untitled

a guest
Feb 16th, 2017
151
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.96 KB | None | 0 0
  1. if($isAuth && !$userId && $this->getRequest()->getParam('error_reason') == 'user_denied'){
  2. echo("<script>window.close()</script>");
  3. }elseif ($isAuth && !$userId){
  4. $loginUrl = $facebook->getLoginUrl(array('scope' => 'email'));
  5. echo "<script type='text/javascript'>top.location.href = '$loginUrl';</script>";
  6. exit;
  7. }
  8. $user = Mage::helper('fblogin')->getFbUser();
  9. if ($isAuth && $user){
  10. $nextUrl = Mage::helper('fblogin')->getFbloginUrl();
  11. if($nextUrl!='')
  12. die("<script type="text/javascript">window.opener.location.href="".$nextUrl.""; window.close();</script>");
  13. else
  14. die("<script type="text/javascript">window.opener.location.href=window.opener.location.href;</script>");
  15. }
  16. $store_id = Mage::app()->getStore()->getStoreId(); //add them
  17. $website_id = Mage::app()->getStore()->getWebsiteId();//add them
  18. $data = array('firstname'=>$user['first_name'], 'lastname'=>$user['last_name'], 'email'=>$user['email']);
  19. $customer = $this->getCustomerByEmail($data['email'], $website_id); //edit
  20. if(!$customer || !$customer->getId()){
  21. $customer = $this->createCustomerMultiWebsite($data, $website_id, $store_id); //add them
  22. }
  23. //add old
  24. if ($customer->getConfirmation()){
  25. try {
  26. $customer->setConfirmation(null);
  27. $customer->save();
  28. }catch (Exception $e) {
  29. Mage::getSingleton('core/session')->addError(Mage::helper('fblogin')->__('Error'));
  30. }
  31. }
  32. Mage::getSingleton('customer/session')->setCustomerAsLoggedIn($customer);
  33. $this->_redirectUrl($this->_loginPostRedirect());//add them fix new
  34. }
  35.  
  36. protected function getCustomerByEmail($email, $website_id){
  37. $collection = Mage::getModel('customer/customer')->getCollection()
  38. ->addFieldToFilter('email', $email);
  39. if (Mage::getStoreConfig('customer/account_share/scope')) {
  40. $collection->addFieldToFilter('website_id',$website_id);
  41. }
  42. return $collection->getFirstItem();
  43. }
  44.  
  45. protected function createCustomer($data){
  46. $customer = Mage::getModel('customer/customer')
  47. ->setFirstname($data['firstname'])
  48. ->setLastname($data['lastname'])
  49. ->setEmail($data['email']);
  50.  
  51. $isSendPassToCustomer = Mage::getStoreConfig('fblogin/general/is_send_password_to_customer');
  52. $newPassword = $customer->generatePassword();
  53. $customer->setPassword($newPassword);
  54. try{
  55. $customer->save();
  56. }catch(Exception $e){}
  57.  
  58. if($isSendPassToCustomer)
  59. $customer->sendPasswordReminderEmail();
  60. return $customer;
  61. }
  62. // add them
  63. protected function createCustomerMultiWebsite($data, $website_id, $store_id){
  64. $customer = Mage::getModel('customer/customer')->setId(null);
  65. $customer ->setFirstname($data['firstname'])
  66. ->setLastname($data['lastname'])
  67. ->setEmail($data['email'])
  68. ->setWebsiteId($website_id)
  69. ->setStoreId($store_id)
  70. ->save()
  71. ;
  72. $isSendPassToCustomer = Mage::getStoreConfig('fblogin/general/is_send_password_to_customer');
  73. $newPassword = $customer->generatePassword();
  74. $customer->setPassword($newPassword);
  75. try{
  76. $customer->save();
  77. }catch(Exception $e){}
  78.  
  79. if($isSendPassToCustomer)
  80. $customer->sendPasswordReminderEmail();
  81. return $customer;
  82. }
  83. //add old
  84. protected function _loginPostRedirect(){
  85. $selecturl= Mage::getStoreConfig(('fblogin/general/select_url'),Mage::app()->getStore()->getId());
  86. if($selecturl==0) return Mage::getUrl('customer/account');
  87. if($selecturl==2) return Mage::getUrl();
  88. if($selecturl==3) return Mage::getSingleton('core/session')->getFbCurrentpage();
  89. if($selecturl==4) return Mage::getStoreConfig(('fblogin/general/custom_page'),Mage::app()->getStore()->getId());
  90. if($selecturl==1 && Mage::helper('checkout/cart')->getItemsCount()!=0) return Mage::getUrl('checkout/cart');else return Mage::getUrl();
  91. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement