/** * Include php files with TTL expiration * * Use phpInclude to load PHP files dinamically, also with cache * * @param string Varname * @param string File tyo include * @param integer time to life for saved files (blank or '0', disable cache) * @return string Return PHP file */ public static function phpInclude($name, $file, $ttl = '') { $fcontents = ""; if (substr($file, 0, 1) != "/") { $file = $_SERVER["DOCUMENT_ROOT"] . "/" . $file; } if (self::test($name) === FALSE || $ttl == 0) { if (file_exists($file)) { $fcontents = file_get_contents($file); } $fcontents = str_replace('<' . '?php', '', $fcontents); $fcontents = str_replace('?>', '', $fcontents); self::set($name, $fcontents); self::set($name . "@ttl", $ttl == '' ? 0 : time() + $ttl); return $fcontents; } else { $fcontents = self::get($name); $fcontentsTTL = self::get($name . "@ttl"); if ($fcontentsTTL != 0 && $fcontentsTTL > time()) { self::clear($name); return sef::phpInclude($name, $file, $ttl); } else { if ($fcontents === FALSE) { $fcontents = ""; } } return $fcontents; } }