WordPress.org

Plugin Directory

Changeset 599782


Ignore:
Timestamp:
09/16/12 19:19:00 (19 months ago)
Author:
aaroncampbell
Message:

Update TLC Transients

File:
1 edited

Legend:

Unmodified
Added
Removed
  • twitter-widget-pro/trunk/tlc-transients.php

    r433713 r599782  
    11<?php 
    22 
    3 class TLC_Transient_Update_Server { 
    4     public function __construct() { 
    5         add_action( 'init', array( $this, 'init' ) ); 
    6     } 
     3if ( !class_exists( 'TLC_Transient_Update_Server' ) ) { 
     4    class TLC_Transient_Update_Server { 
     5        public function __construct() { 
     6            add_action( 'init', array( $this, 'init' ) ); 
     7        } 
    78 
    8     public function init() { 
    9         if ( isset( $_POST['_tlc_update'] ) ) { 
    10             $update = get_transient( 'tlc_up__' . $_POST['key'] ); 
    11             if ( $update && $update[0] == $_POST['_tlc_update'] ) { 
    12                 tlc_transient( $update[1] ) 
    13                     ->expires_in( $update[2] ) 
    14                     ->updates_with( $update[3], (array) $update[4] ) 
    15                     ->set_lock( $update[0] ) 
    16                     ->fetch_and_cache(); 
     9        public function init() { 
     10            if ( isset( $_POST['_tlc_update'] ) ) { 
     11                $update = get_transient( 'tlc_up__' . $_POST['key'] ); 
     12                if ( $update && $update[0] == $_POST['_tlc_update'] ) { 
     13                    tlc_transient( $update[1] ) 
     14                        ->expires_in( $update[2] ) 
     15                        ->updates_with( $update[3], (array) $update[4] ) 
     16                        ->set_lock( $update[0] ) 
     17                        ->fetch_and_cache(); 
     18                } 
     19                exit(); 
    1720            } 
    18             exit(); 
    1921        } 
    2022    } 
     
    7779                return; // Race... let the other process handle it 
    7880            try { 
    79                 $data = call_user_func_array( $this->callback, $this->params ); 
     81                $data = call_user_func_array( $this->callback, $this->params ); 
    8082                $this->set( $data ); 
    81             } catch( Exception $e ) {} 
     83            } catch( Exception $e ) { 
     84                $data = false; 
     85            } 
    8286            $this->release_update_lock(); 
    8387            return $data; 
     
    142146 
    143147// API so you don't have to use "new" 
    144 function tlc_transient( $key ) { 
    145     $transient = new TLC_Transient( $key ); 
    146     return $transient; 
     148if ( !function_exists( 'tlc_transient' ) ) { 
     149    function tlc_transient( $key ) { 
     150        $transient = new TLC_Transient( $key ); 
     151        return $transient; 
     152    } 
    147153} 
     154 
     155// Example: 
     156/* 
     157function sample_fetch_and_append( $url, $append ) { 
     158    $f  = wp_remote_retrieve_body( wp_remote_get( $url, array( 'timeout' => 30 ) ) ); 
     159    $f .= $append; 
     160    return $f; 
     161} 
     162 
     163function test_tlc_transient() { 
     164    $t = tlc_transient( 'foo' ) 
     165        ->expires_in( 30 ) 
     166        ->background_only() 
     167        ->updates_with( 'sample_fetch_and_append', array( 'http://coveredwebservices.com/tools/long-running-request.php', ' appendfooparam ' ) ) 
     168        ->get(); 
     169    var_dump( $t ); 
     170    if ( !$t ) 
     171        echo "The request is false, because it isn't yet in the cache. It'll be there in about 10 seconds. Keep refreshing!"; 
     172} 
     173 
     174add_action( 'wp_footer', 'test_tlc_transient' ); 
     175*/ 
Note: See TracChangeset for help on using the changeset viewer.