• 12-01-2013, 03:07:52
    #1
    Merhaba,

    Kullandığımız javascript ;
    var mob = new Array(3)
    for (i=0; i < 3; i++)
    mob[i]=new Array(3)
    
    //MOBIL REKLAM ICERIGI BURADAN DEGISTIRILECEK
    mob[0][1] = "http://google.com/banner/mobil.gif"
    mob[0][2] = "http://m.yandex.com"
    
    mob[1][1] = "http://google.com/banner/mobil.gif"
    mob[1][2] = "http://m.yahoo.com"
    
    mob[2][1] = "http://google.com/banner/mobil.gif"
    mob[2][2] = "http://m.google.com"
    
    
    
    
    var web = new Array(3)
    for (i=0; i < 3; i++)
    web[i]=new Array(3)
    
    web[0][1] = "http://google.com/3.gif"
    web[0][2] = "http://google.com/"
    
    web[1][1] = "http://google.com/2.gif"
    web[1][2] = "http://yandex.com"
    
    web[2][1] = "http://google.com/1.gif"
    web[2][2] = "http://yahoo.com"
    
    
    hangiref=site;
    var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
    if (mobile) 
    { 
    rastgele=Math.floor(Math.random()*mob.length);
    window.location = "http://m.google.com"
    }
    else
    {
    rastgele=Math.floor(Math.random()*web.length);
    
    document.write('<a href="'+web[rastgele][2]+'?site='+hangiref+'"><img src= "' + web[rastgele][1] + '"></a>');
    
    
    }
    Kodun tamamıyla ilgili bir değişiklik yapılmayacak yapılacak tek değişiklik scriptin mobil kullanıcıyı tespit etme aşamasında şöyleki şu anda;
    var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent.toLowerCase()));
    Satırında tarayıcıdan tespit ederken onun yerine aşağıdaki hazır php koduyla
    IP'den tespit etmesini istiyorum. Javascriptin kalan işlevi ise aynen yapılmaya devam edecek
    <?php
    
    /*
     * ORNEK KULLANIM
    
      include '../operatorController.class.php';
      $operator = operatorController::Run();
      if ( $operator !== FALSE )
      echo "OPERATOR : " . $operator;
      else
      echo "Mobil bir aygit degil";
    
     */
    
    class operatorController {
    
        private
                $operatorIPAddr = array(
                    "TURKCELL" => array(
                        "86.108.128.1/86.108.255.254",
                        "86.108.132.129/86.108.132.158"
                    ),
                    "VODAFONE" => array(
                        "212.65.132.1/212.65.132.62",
                        "212.65.140.160/212.65.140.191"
                    ),
                    "AVEA" => array(
                        "217.174.43.132",
                        "217.174.43.133"
                    ),
                    "KKTCEL" => array(
                        "212.252.169.99",
                        "94.79.91.1/94.79.91.254"
                    )
                        ),
                $clientIPAddr = NULL,
                $isMobileOperator = FALSE;
    
        public function __construct($IPAddr = NULL) {
            #$this->clientIPAddr = is_null($IPAddr) ? $_SERVER['REMOTE_ADDR'] : trim($IPAddr);
            $this->clientIPAddr = is_null($IPAddr) ? Helpers::getRealIPAddr() : trim($IPAddr);
            unset($IPAddr);
    
            return $this->controlIPAddress();
        }
    
        private function controlIPAddress() {
            foreach ($this->operatorIPAddr as $operatorName => $ipData) {
                foreach ($ipData as $IP) {
                    if (strstr($IP, '/')) {
                        $_ipData = explode('/', $IP);
                        $start = ip2long(trim($_ipData[0]));
                        $end = ip2long(trim($_ipData[1]));
                    } else {
                        $start = ip2long($IP);
                        $end = ip2long($IP);
                    }
    
                    if ((ip2long($this->clientIPAddr) >= $start && ip2long($this->clientIPAddr) <= $end)) {
                        $this->isMobileOperator = $operatorName;
                        return $this->isMobileOperator;
                    }
                }
            }
        }
    
        public static function Run($IPAddr = NULL) {
            $operatorController = new operatorController($IPAddr);
            if ($operatorController->isMobileOperator !== FALSE)
                return $operatorController->isMobileOperator;
            else
                return FALSE;
        }
    
    }
    
    ?>
    Düzenlemeyi hızlı bir şekilde yapabilecek arkadaş istediği ücret ile PM atabilirse dönüş yapacağım.
  • 13-01-2013, 01:04:17
    #2
    UP. Hala aranıyor.
  • 14-01-2013, 21:01:55
    #3
    Kodlamadan hic anlamam. Istedigim sey mumkun degilse onu soylese bari biri
  • 14-01-2013, 21:24:03
    #4
    WonnicK adlı üyeden alıntı: mesajı görüntüle
    Kodlamadan hic anlamam. Istedigim sey mumkun degilse onu soylese bari biri
    hocam verdiğiniz ikinci kod js değil java yani birleştiremezsiniz, sanırım yapmak istediğiniz hangi hatla girmek istediğini çektirmek istiyorsunuz ?