From a0124b45f9dab8a0f7d4879d4ea147b414b25bf2 Mon Sep 17 00:00:00 2001 From: Frederic Guillot Date: Sun, 20 Sep 2015 13:11:41 -0400 Subject: Add sub namespace for plugins --- app/Core/PluginLoader.php | 137 ---------------------------------------------- 1 file changed, 137 deletions(-) delete mode 100644 app/Core/PluginLoader.php (limited to 'app/Core/PluginLoader.php') diff --git a/app/Core/PluginLoader.php b/app/Core/PluginLoader.php deleted file mode 100644 index c7c254f7..00000000 --- a/app/Core/PluginLoader.php +++ /dev/null @@ -1,137 +0,0 @@ -isDot() && $fileinfo->isDir()) { - $plugin = $fileinfo->getFilename(); - $this->loadSchema($plugin); - $this->load($plugin); - } - } - } - } - - /** - * Load plugin - * - * @access public - */ - public function load($plugin) - { - $class = '\Plugin\\'.$plugin.'\\Plugin'; - $instance = new $class($this->container); - - Tool::buildDic($this->container, $instance->getClasses()); - - $instance->initialize(); - } - - /** - * Load plugin schema - * - * @access public - * @param string $plugin - */ - public function loadSchema($plugin) - { - $filename = __DIR__.'/../../plugins/'.$plugin.'/Schema/'.ucfirst(DB_DRIVER).'.php'; - - if (file_exists($filename)) { - require($filename); - $this->migrateSchema($plugin); - } - } - - /** - * Execute plugin schema migrations - * - * @access public - * @param string $plugin - */ - public function migrateSchema($plugin) - { - $last_version = constant('\Plugin\\'.$plugin.'\Schema\VERSION'); - $current_version = $this->getSchemaVersion($plugin); - - try { - - $this->db->startTransaction(); - $this->db->getDriver()->disableForeignKeys(); - - for ($i = $current_version + 1; $i <= $last_version; $i++) { - $function_name = '\Plugin\\'.$plugin.'\Schema\version_'.$i; - - if (function_exists($function_name)) { - call_user_func($function_name, $this->db->getConnection()); - } - } - - $this->db->getDriver()->enableForeignKeys(); - $this->db->closeTransaction(); - $this->setSchemaVersion($plugin, $i - 1); - } - catch (PDOException $e) { - $this->db->cancelTransaction(); - $this->db->getDriver()->enableForeignKeys(); - die('Unable to migrate schema for the plugin: '.$plugin.' => '.$e->getMessage()); - } - } - - /** - * Get current plugin schema version - * - * @access public - * @param string $plugin - * @return integer - */ - public function getSchemaVersion($plugin) - { - return (int) $this->db->table(self::TABLE_SCHEMA)->eq('plugin', strtolower($plugin))->findOneColumn('version'); - } - - /** - * Save last plugin schema version - * - * @access public - * @param string $plugin - * @param integer $version - * @return boolean - */ - public function setSchemaVersion($plugin, $version) - { - $dictionary = array( - strtolower($plugin) => $version - ); - - return $this->db->getDriver()->upsert(self::TABLE_SCHEMA, 'plugin', 'version', $dictionary); - } -} -- cgit v1.2.3