Example #1
0
 public function __construct(Plugin $data)
 {
     $this->id = $data->getId();
     $this->installationDate = $data->getInstallationDate();
     $this->name = $data->getName();
     $this->description = $data->getDescription();
     $this->active = $data->getActive();
 }
Example #2
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();
 }