Server : Apache/2 System : Linux vps.sdns.vn 3.10.0-1160.15.2.el7.x86_64 #1 SMP Wed Feb 3 15:06:38 UTC 2021 x86_64 User : phatdatpq ( 1022) PHP Version : 7.2.34 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname Directory : /home/phatdatpq/public_html/wp-content/plugins/loco-translate/src/data/ |
Upload File : |
<?php /** * */ abstract class Loco_data_Transient extends Loco_data_Serializable { /** * Lifespan to persist object in transient cache * @var int seconds */ private $ttl = 0; /** * Get short suffix for use as end of cache key. * DB allows 191 characters including "_transient_timeout_loco_" prefix, leaving 167 bytes * @return string */ abstract public function getKey(); /** * Persist object in WordPress cache * @param int * @param bool * @return Loco_data_Transient */ public function persist(){ $key = 'loco_'.$this->getKey(); set_transient( $key, $this->getSerializable(), $this->ttl ); $this->clean(); return $this; } /** * Retrieve and unserialize this object from WordPress transient cache * @return bool whether object existed in cache */ public function fetch(){ $key = 'loco_'.$this->getKey(); $data = get_transient( $key ); try { $this->setUnserialized($data); return true; } catch( InvalidArgumentException $e ){ return false; } } /** * @param int * @return self */ public function setLifespan( $ttl ){ $this->ttl = (int) $ttl; return $this; } /** * Set keep-alive interval * @param int * @return self */ public function keepAlive( $timeout ){ $time = $this->getTimestamp(); // legacy objects (with ttl=0) had no timestamp, so will always be touched. // make dirty if this number of seconds has elapsed since last persisted. if( time() > ( $time + $timeout ) ){ $this->touch()->persistLazily(); } return $this; } }