summaryrefslogtreecommitdiff
path: root/framework/Web/Services/TAssetService.php
blob: 914aa1a58a9092ddda964fefa9a209c6a5560607 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
<?php

/**
<module id="asset" PrivateLocation="xxx" PublicLocation="xxx" BaseUrl="xxx" />
 */
class TAssetManager extends TComponent implements IModule
{
	private $_pubDir=null;
	private $_pubUrl=null;

	public function init($context)
	{
		if(is_null($this->_pubDir))
			throw new TCongiruationException('cache_public_location_required');
		if(is_null($this->_pubUrl))
			throw new TCongiruationException('cache_public_url_required');
	}

	public function getPublicLocation()
	{
		return $this->_pubDir;
	}

	public function setPublicLocation($value)
	{
		if(is_dir($value))
			$this->_pubDir=realpath($value);
		else
			throw new TInvalidDataValueException('cache_public_location_invalid');
	}

	public function getPublicUrl()
	{
		return $this->_pubUrl;
	}

	public function setPublicUrl($value)
	{
		$this->_pubUrl=rtrim($value,'/');
	}

	public function publishLocation($path,$forceOverwrite=false)
	{
		$name=basename($path);
		$prefix=md5(dirname($path));
	}

	public function publishFile($path,$forceOverwrite=false)
	{
		if(($fullpath=realpath($path))!==false)
		{
			return $this->_pubUrl.'/'.$fullpath;
		}
		else
			throw new TInvalidDataValueException('cachemanager_path_unpublishable');
	}

	public function unpublishPath($path)
	{
	}
}

class TMemcache extends TComponent
{
}

class TSqliteCache extends TComponent
{
}
?>