MediaWiki
REL1_19
|
00001 <?php 00002 00009 class HashBagOStuff extends BagOStuff { 00010 var $bag; 00011 00012 function __construct() { 00013 $this->bag = array(); 00014 } 00015 00016 protected function expire( $key ) { 00017 $et = $this->bag[$key][1]; 00018 00019 if ( ( $et == 0 ) || ( $et > time() ) ) { 00020 return false; 00021 } 00022 00023 $this->delete( $key ); 00024 00025 return true; 00026 } 00027 00028 function get( $key ) { 00029 if ( !isset( $this->bag[$key] ) ) { 00030 return false; 00031 } 00032 00033 if ( $this->expire( $key ) ) { 00034 return false; 00035 } 00036 00037 return $this->bag[$key][0]; 00038 } 00039 00040 function set( $key, $value, $exptime = 0 ) { 00041 $this->bag[$key] = array( $value, $this->convertExpiry( $exptime ) ); 00042 } 00043 00044 function delete( $key, $time = 0 ) { 00045 if ( !isset( $this->bag[$key] ) ) { 00046 return false; 00047 } 00048 00049 unset( $this->bag[$key] ); 00050 00051 return true; 00052 } 00053 00054 function keys() { 00055 return array_keys( $this->bag ); 00056 } 00057 } 00058