MyDesign | Kod Arşivi - Anasayfaya Dön   No banner in farm
Anasayfa Araştır Forum Gelişmiş Arama Siteniz İçin En Hit İçerikler RSS İçerik Ekle Scriptler Destekleyenler Kadromuz Reklam İletişim Giriş Sayfası Yap  Sık Kullanılanlara Ekle
Bu Kategorinin En Yeni Kodları:


Bu Kategorinin En Çok Görüntülenen Kodları:






Arama:
Gelişmiş Arama


No banner in farm



En Çok Görüntülenen Kodlar:


Üye Girişi:
 Üye Ol



Anasayfa > Php > Kodlar

GMail Adres Defteri

GMail hesabınızdaki adres defterini alma sınıfı

Kategori : Php
Gönderen : mYavuz
Telif :
Tarih : 17 Haziran 2006
Örnek Dosya : Bulunmamakta
Okunma Sayısı : 16506
Puan
: 8,1 / 10 (11 Oy)
Puan Verin :
Google Bookmarks  del.icio.us  Digg  Yahoo! MyWeb  Windows Live  Furl
 
 
<-- GrabGmail.class.php sayfası kodları -->
<?php
/**
* Grab Gmail : Gmail Addressbook Grabber Class
*
* @author  :  MA Razzaque Rupom <rupom_315@yahoo.com>, <rupom.bd@gmail.com>
*             Moderator, phpResource (http://groups.yahoo.com/group/phpresource/)
*             URL: http://www.rupom.info  
* @version :  1.0
* @date       06/09/2006
* Purpose  :  Grabbing Your Gmail Addressbook
*/

  class GrabGmail
  {
     //To use it in PHP4, please replace each "private" by "var"
     private $contactListArray = array();
     private $contactListTable;
     private $requireCaBundle = false;
     private $caBundleFile;
     private $cookiePath;
     private $proxyUrl='';
     private $userId     ='';
     private $password   ='';
     private $url        = "https://www.google.com/accounts/ServiceLoginAuth";     
     private $refererUrl = "https://www.google.com/accounts/ServiceLogin?service=mail&passive=true&rm=false&continue=http://mail.google.com/mail/?ui=html&zy=f&ltmpl=yj_blanco&ltmplcache=2&hl=en"; 
     
     /**
     * Sets login information of Gmail account
     * @param user id and password
     * @return none
     */ 
     function setLoginInfo($userId, $password)
     {
     
        $this->userId   = $userId;
        $this->password = $password;     
     
     }//EO Method
     
     /**
     * Sets cookie save path(where cookie will be saved)
     * @param cookie path
     * @return none
     */      
     function setCookiePath($cookiePath)
     {
        $this->cookiePath = $cookiePath;     
     }
     
     /**
     * Sets proxy information if any
     * @param proxy URL
     * @return none
     */ 
     function setProxy($proxyUrl)
     {
        $this->proxyUrl = $proxyUrl;       
     }
     
     /**
     * Sets Certificate Bundle File (this is necessary in accessing Gmail from localhost)
     * @param user id and password
     * @return none
     */ 
     function setCaBundleFile($fileName)
     {
        $this->requireCaBundle = true;
        $this->caBundleFile    = $fileName; //provide absolute path
     }
 
     /**
     * Checks whether proxy info is set
     * @param none
     * @return none
     */     
     function isProxy()
     {
        if($this->proxyUrl == '')
        {
           return false;        
        }
        
        return true;        
     
     }//EO Method
     
     /**
     * Prepares contact list
     * @param none
     * @return none
     */ 
     function prepareContactList()
     {
     
       if($this->userId == "" || $this->password=="")
       {
         die("Set Login Info");         
       }
       else
       {
         $this->postRequestToGmail();         
       }      
     
     }//EO Method
     
     /**
     * Gets contact list in a table
     * @param none
     * @return Contact List Table
     */ 
     function getResultTable()
     {
        if(!empty($this->contactListTable))
        {
           return $this->contactListTable;           
        }
        else
        {
           return "List is Empty. Check your user id and password.";     
        }     
     }//EO Method
          
     /**
     * Gets contact list in an array
     * @param none
     * @return Contact List Array
     */      
     function getResultArray()
     {
        if(strlen($this->contactListTable)>33)
        {
           $strValue = $this->contactListTable;                      
           $this->convertToArray($strValue);           
           
           return $this->contactListArray;
           
        }
        else
        {
           return "List is Empty. Check your user id and password.";     
        }     
     }//EO Method
     
     /**
     * Post request to Gmail, gets and parses contact list from Gmail
     * @param none
     * @return none
     */
     function postRequestToGmail()
     {
        
        $requestString  = "service=mail&Email=".urlencode($this->userId)."&Passwd=".urlencode(str_replace(' ','+',$this->password))."&null=Sign%20in&continue=http%3A%2F%2Fmail.google.com%2Fmail%3F&rm=false&hl=en";
        $user_agent     = $_SERVER['HTTP_USER_AGENT'];  
        $cookie         = 1;        
        $cookieFileName = md5($this->userId);  
        
        //setting cookie file. make sure the file has write permission
        $cookieFileJar  = (isset($this->cookiePath))?($this->cookiePath. "/" . $cookieFileName) : ($_SERVER['DOCUMENT_ROOT'] . "/" . $cookieFileName);                        
        $cookieFile     = $cookieFileJar;
        $refererUrl     = $this->refererUrl;
        
        $c = curl_init();
           curl_setopt($c, CURLOPT_URL, $this->url);
           curl_setopt($c, CURLOPT_HEADER, 1);
           curl_setopt($c, CURLOPT_POST,   1);
           //this referer tells Gmail that request is coming from Gmail
           curl_setopt($c, CURLOPT_REFERER, $this->refererUrl);                              
           curl_setopt($c, CURLOPT_POSTFIELDS, $requestString);                    
           
           curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
           
           //Certificate information
        if($this->requireCaBundle)
        {
          if(isset($this->caBundleFile))
          {             
             curl_setopt($c, CURLOPT_CAINFO, $this->caBundleFile);
          }
          else
          {
             die("Provide CA Bundle File");     
          }        
        }
        
        if($this->isProxy())
        {
           curl_setopt($c, CURLOPT_PROXY, $this->proxyUrl);
           }
           
           curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1);
           curl_setopt($c, CURLOPT_USERAGENT, $user_agent);          
           
           //writting cookie
           curl_setopt($c, CURLOPT_COOKIEJAR, $cookieFileJar);     
           curl_setopt($c, CURLOPT_COOKIE, $cookie);
           
           $res = curl_exec($c);
           
           curl_close($c);
                                                
        $requestString ='http://mail.google.com/mail/?view=cl&pnl=a&ui=html&zy=f';
        
        //New curl session        
        $ch = curl_init();
                     
           curl_setopt($ch, CURLOPT_URL, $requestString);
           curl_setopt($ch, CURLOPT_HEADER, 0);
        
           curl_setopt($ch, CURLOPT_REFERER, $refererUrl);                              
           curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
           
           //Certificate information                 
        if($this->requireCaBundle)
        {
          if(isset($this->caBundleFile))
          {             
             curl_setopt($ch, CURLOPT_CAINFO, $this->caBundleFile);             
          }
          else
          {
             die("Provide CA Bundle File");     
          }        
        }
        
        if($this->isProxy())
        {              
           curl_setopt($ch, CURLOPT_PROXY, $this->proxyUrl);
           }
           
           curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
            curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
            
            //reading cookie
            curl_setopt($ch, CURLOPT_COOKIEFILE, $cookieFile);     
            
            curl_setopt($ch, CURLOPT_COOKIE, $cookie);
                        
           $gmailResponse = curl_exec($ch);     
           
           curl_close($ch);     
           
           $parsedResponse  = $this->parseResponse($gmailResponse);
           
           $this->contactListTable = $parsedResponse;
           
     }//EO Method
     
     /**
     * Converts table data to array data
     * @param Table of Contact List
     * @return Contact List Array
     */ 
     function convertToArray($strValue)
     {
        $strVal = str_replace("&nbsp;","",$strValue);
        $output = array();        
        $strVal = nl2br($strVal);
        $strVal = str_replace("<br />",'',$strVal);            
        $matches1 = preg_match_all("/<b>([^<]+)<\/b>/si",$strVal,$output, PREG_PATTERN_ORDER);           
        $offset = array();        
        $matches2 = preg_match_all("/<td[^>]*>([a-zA-Z0-9_\.]+@[a-zA-Z0-9_\.]+)?([^<]*)<\/td>/si",$strVal,$offset, PREG_PATTERN_ORDER);        
        
        //putting values into associative array                
        for($i=0;$i<sizeof($offset[2]); $i++)
        {
              $email = trim($offset[2][$i]);
              $name  = $output[1][$i];              
           $this->contactListArray["'$email'"] =$name;                
        }                       
     
     }//EO Method  
     
     /**
     * Parses Gmail Response String
     * @param Gmail Response
     * @return Parsed Response
     */ 
     function parseResponse($str)
     {
        $str = nl2br($str);
        $str = str_replace("<br />","",$str);
        $str = preg_replace("/<script[^>]*?>.*?<\/script>/si","", $str);
        $off = array();
        $matches = preg_match_all("/<table[^>]*?>.*?<\/table>/si", $str, $off,PREG_PATTERN_ORDER);
        $strVal = $off[0][6];
        
        return $strVal;
             
     }//EO Method
     
     /**
     * Debugs dump/data
     * @param $dump
     * @return none
     */
     function dBug($dump)
     {
     
        echo "<PRE>";
        print_r($dump);
        echo "</PRE>";  
     
     }//EO Method
       
  }//EO Class
 
?>


<!-- Kullanım -->
<?php
/**
* Grab Gmail : Gmail Addressbook Grabber Class
*
* @author  :  MA Razzaque Rupom <rupom_315@yahoo.com>, <rupom.bd@gmail.com>
*             Moderator, phpResource (http://groups.yahoo.com/group/phpresource/)
*             URL: http://www.rupom.info  
* @version :  1.0
* @date       06/09/2006
* Purpose  :  Grabbing Your Gmail Addressbook
*/

  require_once("GrabGmail.class.php");
  
  $login = 'gmail_kullanici_adi';          // @gmail.com yazmayınız"
  $password = 'gmail_sifreniz';
  
  $obj = new GrabGmail();
  $obj->setLoginInfo($login, $password);
  $obj->setCaBundleFile("D:/Rupom/xampp/htdocs/xampp/Test/ca-bundle.crt");
  $obj->setProxy("proxy.citech.net:8000");
  $obj->prepareContactList();
  $obj->dBug("===== <b>$login@gmail.com</b> Kullanıcısına Ait Adres Defteri =====");
  $obj->dBug('---- Contacts in Table ------');
  $resultTable = $obj->getResultTable();
  $obj->dBug($resultTable);
  $obj->dBug('---- Contacts in Array ------');
  $resultArray = $obj->getResultArray();
  $obj->dBug($resultArray);    
?>
 
 

GMail Adres Defteri için yazılan yorumlar

Ceddin   { 27 Ocak 2009 }
Asıl sen isi bilmiyorsun. Kodlara adam gibi bakmadan yorum yazıyosun. Ekleyen kişi kodları 2 ye bölmüş baştan sona bakarsan dediğimi anlarsın. Gereksiz yere milleti baltalamak için yorum eklemeyin.

biberon   { 25 Aral�k 2008 }
sayfanın en altında GrabGmail.class.php diyor require diyor ama kime diyor kodu eklirsunuz ama bu işi bilmiyorsunuz

Yorum ekleyin

Anasayfa > Php > Kodlar > GMail Adres Defteri
Kategoriler:


Forum:



Bağlantılar:



    En Son Yorumlanan İçerikler:


    Murat Yavuz | Site Haritası | Gizlilik Bildirimi | 54.144.100.123 | 0,14 Saniye
    © Copyright 2004-2018 MyDesign | Kod Arşivi. Tüm Hakları Saklıdır.
    MyDesign | Kod Arşivi, en iyi görünüm için, 1024x768 ve üzeri çözünürlük tavsiye eder.