. */ namespace SP\Plugin; /** * Class PluginBase * * @package SP\Plugin */ abstract class PluginBase implements PluginInterface { /** * @var string Directorio base */ protected $base; /** * @var string Tipo de plugin */ protected $type; /** * @var string */ protected $themeDir; /** * @var mixed */ protected $data; /** * @var int */ protected $enabled; /** * PluginBase constructor. */ public final function __construct() { $this->init(); } /** * @return string */ public function getType() { return $this->type; } /** * @param string $type */ public function setType($type) { $this->type = $type; } /** * @return string */ public function getBase() { return $this->base; } /** * @return string */ public function getThemeDir() { return $this->themeDir; } /** * @return mixed */ public function getData() { return $this->data; } /** * @param mixed $data */ public function setData($data) { $this->data = $data; } /** * @return int */ public function getEnabled() { return (int)$this->enabled; } /** * @param int $enabled */ public function setEnabled($enabled) { $this->enabled = (int)$enabled; } /** * Establecer las locales del plugin */ protected function setLocales() { $locales = $this->getBase() . DIRECTORY_SEPARATOR . 'locales'; $name = strtolower($this->getName()); bindtextdomain($name, $locales); bind_textdomain_codeset($name, 'UTF-8'); } }