Eredmény: 1 - 6 (6) összesen

Téma: referer mentése teljes url

  1. #1
    Bölcs uniquevisitor logója
    Csatlakozott
    08-07-25
    Hozzászólás
    823
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás referer mentése teljes url

    sziasztok,

    ha jól gondolom akkor egy modulban, az alábbi file menti a referer domaint. Mit kellene javítani benne, ha nem csak a domaint szeretném lementeni, hanem a teljes URL-t?

    köszi

    Kód:
    <?php /*
    
    Copyright (c) 2009 Chatlumo
    
    This file is part of Sales Referrer.
    
    Sales Referrer is free software: you can redistribute it and/or
    modify it under the terms of the GNU General Public License as
    published by the Free Software Foundation, either version 3 of the
    License, or (at your option) any later version.
    
    Sales Referrer is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    General Public License for more details.
    
    You should have received a copy of the GNU General Public License
    along with Sales Referrer.  If not, see
    <http://www.gnu.org/licenses/>.
    
    */
    
    class Chatlumo_Referrer_Observer {
        private $cookiename, $lifetime, $new_order;
    
        public function __construct() {
            $this->cookiename = Mage::getStoreConfig('referrer/referrer/cookiename');
            $this->lifetime = Mage::getStoreConfig('referrer/referrer/lifetime');
    		$this->domainname = Mage::getStoreConfig('referrer/referrer/domainname');
    		$this->email = Mage::getStoreConfig('referrer/referrer/email');
    		$this->sendemail = Mage::getStoreConfig('referrer/referrer/sendemail');
    		$this->file = Mage::getStoreConfig('referrer/referrer/file');
    		$this->createfile = Mage::getStoreConfig('referrer/referrer/createfile');
            $this->new_order = FALSE;
        }
    
    
        public function set_referrer_cookie($observer) {
    		$cookie_valeur = 'Direct access';
    		if (isset($_SERVER['HTTP_REFERER'])) {
    			if (stristr($_SERVER['HTTP_REFERER'], $this->domainname) === FALSE)
    				$cookie_valeur = $_SERVER['HTTP_REFERER'];
    		}
    		if (!isset($_COOKIE[$this->cookiename]))
    		{
    			$le_cookie = array($this->cookiename, $cookie_valeur, time() + $this->lifetime, "/");
    			call_user_func_array('setcookie', $le_cookie);
    		}
    
            return $this;
        }
    
        public function order_placed($observer) {
            $this->new_order = TRUE;
            return $this;
        }
    
        public function model_saved($observer) {
            $event = $observer->getEvent();
            $order = $event->getOrder();
            $orderGdTotal = $order->getData('subtotal') - $order->getData('discount_amount');
    
            if($this->new_order) {
    			$orderId = (string) $order->getRealOrderId();
    						
    			if ($this->sendemail)
    				mail($this->email, 'commande referer '.$orderId, $orderId."\n".$orderGdTotal."\n".$_COOKIE[$this->cookiename]);
    				
    			if ($this->createfile)
    			{
    				$handle = fopen($this->file, 'a');
    				fwrite($handle, $orderId."\t".$orderGdTotal."\t".$_COOKIE[$this->cookiename]."\r\n");
    				fclose($handle);
    			}
            }
    
    
            return $this;		
        }
    }




  2. #2
    Bölcs gjoe logója
    Csatlakozott
    11-03-19
    Hely
    Budapest
    Hozzászólás
    841
    Begyűjtött 77 köszönetet
    53 hozzászólásával

    Alapbeállítás re: referer mentése teljes url

    Csak egy tipp.

    Ez helyett:
    PHP kód:
        fwrite($handle$orderId."\t".$orderGdTotal."\t".$_COOKIE[$this->cookiename]."\r\n"); 
    Próbáld meg ezt:
    PHP kód:
        fwrite($handle$orderId."\t".$orderGdTotal."\t".$_COOKIE[$cookie_valeur]."\r\n"); 
    Így a cookie neve helyett az url-t menti el.
    Szerintem.



  3. #3
    Bölcs uniquevisitor logója
    Csatlakozott
    08-07-25
    Hozzászólás
    823
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: referer mentése teljes url

    köszi a tippet, de sajnos ezzel a javítással is csak a domaint menti.
    Van esetleg más ötlet?



  4. #4
    Bölcs
    Csatlakozott
    08-01-02
    Hozzászólás
    1.271
    Begyűjtött 82 köszönetet
    53 hozzászólásával

    Alapbeállítás re: referer mentése teljes url

    Esetleg ha törlöd ezt a sort:

    Kód:
    if (stristr($_SERVER['HTTP_REFERER'], $this->domainname) === FALSE)




  5. #5
    Bölcs uniquevisitor logója
    Csatlakozott
    08-07-25
    Hozzászólás
    823
    Begyűjtött 2 köszönetet
    2 hozzászólásával

    Alapbeállítás re: referer mentése teljes url

    a modulban be lehet állítani az oldal saját domain- nevét, ez nem arra vonatkozik? (Tehát, ha saját maga a referer)

    köszi



  6. #6
    Bölcs
    Csatlakozott
    08-01-02
    Hozzászólás
    1.271
    Begyűjtött 82 köszönetet
    53 hozzászólásával

    Alapbeállítás re: referer mentése teljes url

    Irasd ki pár helyen (print):

    $_SERVER['HTTP_REFERER']
    $_COOKIE[$cookie_valeur]

    , mert igazából ha jól látom az egész értéket le kellene mentenie. Hacsak eleve nem tartalmazza a HTTP_REFERER a teljes domaint, vagy a látogatók csak nyitólapokról érkeznek.



Könyvjelzők

Hozzászólás szabályai

  • Új témákat nem hozhatsz létre
  • Válaszokat nem küldhetsz
  • Fájlokat nem csatolhatsz
  • A hozzászólásaidat nem módosíthatod
  •