. */ /* */ /*************************************************************************************/ namespace Thelia\TaxEngine; /** * Class TaxEngine * @package Thelia\TaxEngine * @author Etienne Roudeix */ class TaxEngine { static public function getInstance() { return new TaxEngine(); } private function getTaxTypeDirectory() { return __DIR__ . "/TaxType"; } public function getTaxTypeList() { $typeList = array(); try { $directoryBrowser = new \DirectoryIterator($this->getTaxTypeDirectory($this->getTaxTypeDirectory())); } catch (\UnexpectedValueException $e) { return $typeList; } /* browse the directory */ foreach ($directoryBrowser as $directoryContent) { /* is it a file ? */ if (!$directoryContent->isFile()) { continue; } $fileName = $directoryContent->getFilename(); $className = substr($fileName, 0, (1+strlen($directoryContent->getExtension())) * -1); if($className == "BaseTaxType") { continue; } $typeList[] = $className; } return $typeList; } }