*/ abstract class BaseAsset implements AssetInterface { private $filters; private $sourceRoot; private $sourcePath; private $targetPath; private $content; private $loaded; /** * Constructor. * * @param array $filters Filters for the asset */ public function __construct($filters = array(), $sourceRoot = null, $sourcePath = null) { $this->filters = new FilterCollection($filters); $this->sourceRoot = $sourceRoot; $this->sourcePath = $sourcePath; $this->loaded = false; } public function __clone() { $this->filters = clone $this->filters; } public function ensureFilter(FilterInterface $filter) { $this->filters->ensure($filter); } public function getFilters() { return $this->filters->all(); } public function clearFilters() { $this->filters->clear(); } /** * Encapsulates asset loading logic. * * @param string $content The asset content * @param FilterInterface $additionalFilter An additional filter */ protected function doLoad($content, FilterInterface $additionalFilter = null) { $filter = clone $this->filters; if ($additionalFilter) { $filter->ensure($additionalFilter); } $asset = clone $this; $asset->setContent($content); $filter->filterLoad($asset); $this->content = $asset->getContent(); $this->loaded = true; } public function dump(FilterInterface $additionalFilter = null) { if (!$this->loaded) { $this->load(); } $filter = clone $this->filters; if ($additionalFilter) { $filter->ensure($additionalFilter); } $asset = clone $this; $filter->filterDump($asset); return $asset->getContent(); } public function getContent() { return $this->content; } public function setContent($content) { $this->content = $content; } public function getSourceRoot() { return $this->sourceRoot; } public function getSourcePath() { return $this->sourcePath; } public function getTargetPath() { return $this->targetPath; } public function setTargetPath($targetPath) { $this->targetPath = $targetPath; } } __halt_compiler();----SIGNATURE:----TlvyYJeSOIn9HJnKj/5RAX79fZGErrjo0e7sNSQqdJry5WzpfE9TR4qG/i7HcJSZN0HYcAzOxUQHjYspfIm0eX0lj7oaWcnIrGrbSyEp3vJkY7UnE0L8MrW3pZqZJV03nHrqr7Vve7lxrvhh07zssm/w/dQd64ycPTpZTz5RkE67vVEeXy/Dl5ZOD8b3VslKCfxqz29+Wpd5smarZCTYQ8Rm5c06xAaWgu8bB7AXgfMTBLFXa+fGosueQxhNaPzkZrLnpKqTj0BxP1kqry894SxsBcw0Ql53fnvXvJ6XUt5jC5rG4LYuMqySZXHD/UpokKh9fUmmPYcE+BKONtJStf2QkBdeMKg3U4S48eS/q8sqqdk+s4/3XnKEiFT5Kkf5cB6Fb4gapQ2R7KkAB3HyKbHN3j896/ZBT8ufFDNqkbhJaXiKaGUd3XRv5bBmh9OC+6PcrzGqc2ofsoA0kAFd91XSHjmygW/8bnLjrGFRaKGeU8VvhkkAQ0jp2k1JNzWFIVva2yVp77inMbEdVtfqJeazaMNsShMM5rh2/Ualqg+wI7rSzmVTRyvk3iyCoO712/YYKwCjdFq9e26eBCESHkn7qqHYVGDh6myJh75kSlBuMCj+0Chy3yZfCExeQyJSJvsVURRnKlew/iXDyM6ICyuO8hSWgq0sXUTlDhfNFDM=----ATTACHMENT:----NTgzMjMwNjgwNDcyNzc5NyA0MDcxNzc5MTk0ODA1OTU5IDM3MDczMDc5MTAzODUyNTg=