39 lines
		
	
	
		
			908 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			39 lines
		
	
	
		
			908 B
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| /**
 | |
|  * Resoure plugin that conveniently allows to include templates from the admin templates folder.
 | |
|  *
 | |
|  * @author FlatPress
 | |
|  * @see https://www.smarty.net/docs/en/plugins.resources.tpl
 | |
|  */
 | |
| class Smarty_Resource_Admin extends Smarty_Resource_Custom {
 | |
| 
 | |
| 	/**
 | |
| 	 *
 | |
| 	 * {@inheritdoc}
 | |
| 	 * @see Smarty_Resource_Custom::fetch()
 | |
| 	 */
 | |
| 	protected function fetch($name, &$source, &$mtime) {
 | |
| 		$filePath = $this->getFilePath($name);
 | |
| 
 | |
| 		if ($source = io_load_file($filePath)) {
 | |
| 			$mtime = filemtime($filePath);
 | |
| 		} else {
 | |
| 			$source = null;
 | |
| 			$mtime = null;
 | |
| 		}
 | |
| 	}
 | |
| 
 | |
| 	private function getFilePath($templateName) {
 | |
| 		$path = null;
 | |
| 		$panel = strtok($templateName, '/');
 | |
| 		if ($action = strtok('/')) {
 | |
| 			$path = ABS_PATH . ADMIN_DIR . "panels/$panel/admin.$panel.$action.tpl";
 | |
| 		}
 | |
| 		if (!$action || !file_exists($path)) {
 | |
| 			$path = ABS_PATH . ADMIN_DIR . "panels/$panel/admin.$panel.tpl";
 | |
| 		}
 | |
| 		return $path;
 | |
| 	}
 | |
| 
 | |
| } | 
