47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| namespace dokuwiki\Cache;
 | |
| 
 | |
| /**
 | |
|  * Caching of parser instructions
 | |
|  */
 | |
| class CacheInstructions extends \dokuwiki\Cache\CacheParser
 | |
| {
 | |
| 
 | |
|     /**
 | |
|      * @param string $id page id
 | |
|      * @param string $file source file for cache
 | |
|      */
 | |
|     public function __construct($id, $file)
 | |
|     {
 | |
|         parent::__construct($id, $file, 'i');
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * retrieve the cached data
 | |
|      *
 | |
|      * @param   bool $clean true to clean line endings, false to leave line endings alone
 | |
|      * @return  array          cache contents
 | |
|      */
 | |
|     public function retrieveCache($clean = true)
 | |
|     {
 | |
|         $contents = io_readFile($this->cache, false);
 | |
|         return !empty($contents) ? unserialize($contents) : array();
 | |
|     }
 | |
| 
 | |
|     /**
 | |
|      * cache $instructions
 | |
|      *
 | |
|      * @param   array $instructions the instruction to be cached
 | |
|      * @return  bool                  true on success, false otherwise
 | |
|      */
 | |
|     public function storeCache($instructions)
 | |
|     {
 | |
|         if ($this->_nocache) {
 | |
|             return false;
 | |
|         }
 | |
| 
 | |
|         return io_saveFile($this->cache, serialize($instructions));
 | |
|     }
 | |
| }
 |