Advertisement
sathyashrayan

Observer.php

May 16th, 2015
234
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.45 KB | None | 0 0
  1. <?php
  2.  
  3. class Companyname_Sendmailregister_Model_Observer
  4. {
  5.     public function customerRegisterSuccess(Varien_Event_Observer $observer)
  6.     {
  7.        
  8.    
  9.     $customer = Mage::getModel('customer/customer')->load($observer->getCustomer()->getId());
  10.        
  11.  
  12.     if(!empty($customer))
  13.                 {
  14.                     $mailTemplate = Mage::getModel('core/email_template');
  15.                     /* @var $mailTemplate Mage_Core_Model_Email_Template */
  16.              
  17.                     $translate  = Mage::getSingleton('core/translate');
  18.                      
  19.                     $templateId = 1; //template for sending customer data
  20.                     $template_collection =  $mailTemplate->load($templateId);                              
  21.                     $template_data = $template_collection->getData();
  22.                     if(!empty($template_data))
  23.                     {
  24.                         $templateId = $template_data['template_id'];
  25.                         $mailSubject = $template_data['template_subject'];                        
  26.                          
  27.                         //fetch sender data from Adminend > System > Configuration > Store Email Addresses > General Contact
  28.                         $from_email = Mage::getStoreConfig('trans_email/ident_general/email'); //fetch sender email
  29.                         $from_name = Mage::getStoreConfig('trans_email/ident_general/name'); //fetch sender name
  30.                  
  31.                         $sender = array('name'  => $from_name,
  32.                                         'email' => $from_email);                                
  33.                          
  34.                         $vars = array('customer'=>$customer); //for replacing the variables in email with data                  
  35.                         /*This is optional*/
  36.                         $storeId = Mage::app()->getStore()->getId();
  37.                         $model = $mailTemplate->setReplyTo($sender['email'])->setTemplateSubject($mailSubject);
  38.                         $email = $customer->getEmail();
  39.                         $name = $customer->getName();
  40.  
  41.                        $model->sendTransactional($templateId, $sender, $from_email, $name, $vars, $storeId);                    
  42.                         if (!$mailTemplate->getSentSuccess()) {
  43.                                 throw new Exception();
  44.                         }
  45.                         $translate->setTranslateInline(true);
  46.                     }
  47.                 }
  48.  
  49.  
  50.        
  51.     }
  52.    public function customerRegisterSuccessCheckout(Varien_Event_Observer $observer){
  53.        
  54.     $customer = Mage::getModel('customer/customer')->load($observer->getCustomer()->getId());
  55.  
  56.     //if (!$observer->getCustomer()->getOrigData()) {
  57.  
  58.     //$customer = $observer->getEvent()->getCustomer();          
  59.    // if (!$customer->getId())
  60.      //   return $this;                
  61.  
  62.    // if(Mage::registry('customer_save_observer_executed_'.$customer->getId()))
  63.    //     return $this;
  64.  
  65.            
  66.        if (Mage::registry('if_observer_already')) {
  67.         return $this;
  68.     }
  69.  
  70.     Mage::register('if_observer_already', true);
  71.  
  72.     if (!$observer->getCustomer()->getOrigData()) {
  73.  
  74.       if(!empty($customer))
  75.                 {
  76.                     $mailTemplate = Mage::getModel('core/email_template');
  77.                     /* @var $mailTemplate Mage_Core_Model_Email_Template */
  78.              
  79.                     $translate  = Mage::getSingleton('core/translate');
  80.                      
  81.                     $templateId = 1; //template for sending customer data
  82.                     $template_collection =  $mailTemplate->load($templateId);                              
  83.                     $template_data = $template_collection->getData();
  84.                     if(!empty($template_data))
  85.                     {
  86.                         $templateId = $template_data['template_id'];
  87.                         $mailSubject = $template_data['template_subject'];                        
  88.                          
  89.                         //fetch sender data from Adminend > System > Configuration > Store Email Addresses > General Contact
  90.                         $from_email = Mage::getStoreConfig('trans_email/ident_general/email'); //fetch sender email
  91.                         $from_name = Mage::getStoreConfig('trans_email/ident_general/name'); //fetch sender name
  92.                  
  93.                         $sender = array('name'  => $from_name,
  94.                                         'email' => $from_email);                                
  95.                          
  96.                         $vars = array('customer'=>$customer); //for replacing the variables in email with data                  
  97.                         /*This is optional*/
  98.                         $storeId = Mage::app()->getStore()->getId();
  99.                         $model = $mailTemplate->setReplyTo($sender['email'])->setTemplateSubject($mailSubject);
  100.                         $email = $customer->getEmail();
  101.                         $name = $customer->getName();
  102.  
  103.                        $model->sendTransactional($templateId, $sender, $from_email, $name, $vars, $storeId);                    
  104.                         if (!$mailTemplate->getSentSuccess()) {
  105.                                 throw new Exception();
  106.                         }
  107.                         $translate->setTranslateInline(true);
  108.                     }
  109.                 }
  110.  
  111.     //Mage::register('customer_save_observer_executed_'.$customer->getId(),true);
  112.         }
  113.  
  114.    }
  115. }
  116.  
  117. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement