Changeset 35868 for websites

Show
Ignore:
Timestamp:
11/07/09 11:45:35 (4 years ago)
Author:
kaz_29
Message:

merge 2.0.6.2-debug

Location:
websites/events.php.gr.jp/trunk/app
Files:
2 modified

Legend:

Unmodified
Added
Removed
  • websites/events.php.gr.jp/trunk/app/models/twitter.php

    r35601 r35868  
    33  const API_SEARCH = 'http://search.twitter.com/'; 
    44  const PAGE_LIMIT = 10; 
    5   const CACHE_DURATION = '+5 minutes' ; 
     5  const STATUS_CACHE_DURATION = '+5 minutes' ; 
     6  const DATA_CACHE_DURATION = '+1 day' ; 
    67 
    78  public $useTable = false; 
     
    2021    } 
    2122 
    22 //              Cache::set(array('duration' => self::CACHE_DURATION)); 
    23                 if (!$tweets = Cache::read($q, 'default')) { 
    24                   $this->log("TwitterCache MISS({$q})", LOG_ERR) ; 
    25       App::import('Core', 'HttpSocket'); 
    26                 $this->Socket = new HttpSocket(self::API_SEARCH); 
    27                   $tweets = json_decode($this->Socket->get("/search.json?q={$q}&rpp={$rpp}")); 
    28 //                Cache::set(array('duration' => self::CACHE_DURATION)); 
    29 //                      Cache::write($q, $tweets, 'default'); 
    30                         Cache::write($q, $tweets, array('duration' => self::CACHE_DURATION)); 
     23    $tweets = null ; 
     24     
     25                if (!$status = Cache::read("status_".$q, 'default')) { 
     26                  $this->log("Twitter Status Cache MISS({$q})", LOG_ERR) ; 
     27                 
     28                $result = $this->search( "/search.json?q={$q}&rpp={$rpp}" ) ; 
     29                if ( is_string($result) ) {              
     30                    $tweets = json_decode($result); 
     31                        Cache::write($q, $tweets, array('duration' => self::DATA_CACHE_DURATION)); 
     32                        Cache::write("status_".$q, 1, array('duration' => self::STATUS_CACHE_DURATION)); 
     33                } else { 
     34                    if (!$tweets = Cache::read($q, 'default')) { 
     35                      $this->log("Twitter Data Cache MISS-1({$q})", LOG_ERR) ; 
     36                  $tweets = new stdClass(); 
     37                  $tweets->error = is_null($result['code'])?999:$result['code'] ; 
     38              } else { 
     39                          Cache::write($q, $tweets, array('duration' => self::DATA_CACHE_DURATION)); 
     40        } 
     41                  } 
    3142                } else { 
    3243                  $this->log("TwitterCache HIT({$q})", LOG_ERR ) ; 
     44            if (!$tweets = Cache::read($q, 'default')) { 
     45              $this->log("Twitter Data Cache MISS-2({$q})", LOG_ERR) ; 
     46                  $tweets = new stdClass(); 
     47                  $tweets->error = 999 ; 
     48      } else { 
     49                          Cache::write($q, $tweets, array('duration' => self::DATA_CACHE_DURATION)); 
     50      } 
    3351                } 
    3452 
    3553                return $tweets ; 
    3654  } 
     55   
     56  function search( $url )  
     57  { 
     58    App::import('Core', 'HttpSocket'); 
     59                $this->Socket = new HttpSocket(self::API_SEARCH); 
     60                $result = $this->Socket->get($url) ; 
     61        if ( !$result ) { 
     62            $this->log( "twitter seach error", LOG_ERR) ;  
     63          return array('code' => $this->Socket->response['status']['code']) ; 
     64        } 
     65         
     66        if ( $this->Socket->response['status']['code'] != '200' ) { 
     67                    $this->log( sprintf("twitter seach responce error(%S)", $this->Socket->response['status']['code']), LOG_ERR) ;  
     68          return array('code' => $this->Socket->response['status']['code']) ; 
     69    } 
     70     
     71        return $result ; 
     72  } 
    3773} 
  • websites/events.php.gr.jp/trunk/app/views/event/tweets.ctp

    r35587 r35868  
    11<?php if (isset($twitter->error)) { ?> 
    22<div class="twitter-error"> 
    3         エラーが発生しました。<br /> 
    4         (<?php e($twitter->error); ?>) 
     3Twitter is over capacity.<br /> 
     4Too many tweets! Please wait a moment and try again. 
    55</div> 
    6 <?php } ?> 
     6<?php } else { ?> 
     7<?php if ( !is_array($twitter->results) || count($twitter->results)<=0 ) { ?> 
     8<div class="ajax_loading"> 
     9コメントがありません。 
     10</div> 
     11<?php } else { ?> 
    712<?php foreach ($twitter->results as $tweet) { ?> 
    813<div class="twitter-post"> 
     
    3035</div> 
    3136<?php } ?> 
     37<?php } ?> 
     38<?php } ?>