Exemplo n.º 1
0
 private function installDirectory($path)
 {
     $pluginJsonFile = $path . '/zource-plugin.json';
     if (!is_file($pluginJsonFile)) {
         throw new RuntimeException('The plugin is invalid, missing plugin.json');
     }
     $pluginJsonFileContent = file_get_contents($pluginJsonFile);
     $pluginJsonFileData = $this->createPluginInfo($pluginJsonFileContent);
     $plugin = $this->getPluginByName($pluginJsonFileData['name']);
     if ($plugin) {
         return;
     }
     $plugin = new Plugin($pluginJsonFileData['name'], (array) $pluginJsonFileData['namespaces']);
     $plugin->setActive(true);
     if (array_key_exists('description', $pluginJsonFileData)) {
         $plugin->setDescription($pluginJsonFileData['description']);
     }
     $this->entityManager->persist($plugin);
     $this->entityManager->flush($plugin);
     $this->updateAutoloader();
 }