protected function _setupManifest() { if ($this->install_method === 'discover_install') { return parent::_setupManifest(); } elseif ($this->package) { $koowa_manifests = JFolder::files($this->package, 'koowa-component\\.xml$', true, true); if (!empty($koowa_manifests)) { $this->type = 'koowa-component'; $this->manifest = simplexml_load_file($koowa_manifests[0]); } } return true; }
public function postflight($type, $installer) { if ($type === 'update') { $this->_updateRedirectPlugin($installer); } $extension_id = ComExtmanModelEntityExtension::getExtensionId(array( 'type' => 'component', 'element' => 'com_'.$this->component )); $controller = KObjectManager::getInstance()->getObject('com://admin/extman.controller.extension') ->view('extension') ->layout('success') ->event($type === 'update' ? 'update' : 'install'); $controller->add(array( 'source' => $installer->getParent()->getPath('source'), 'manifest' => $installer->getParent()->getPath('manifest'), 'joomla_extension_id' => $extension_id, 'install_method' => $type, 'event' => $type === 'update' ? 'update' : 'install' )); echo $controller->render(); }
public function delete() { $result = parent::delete(); if ($result) { $db = JFactory::getDbo(); /* * Sometimes installer messes up and leaves stuff behind. Remove them too when uninstalling */ $query = "DELETE FROM #__menu WHERE link = 'index.php?option=com_docman' AND component_id = 0 LIMIT 1"; $db->setQuery($query); $db->query(); $db = JFactory::getDBO(); $db->setQuery('SHOW TABLES LIKE ' . $db->quote($db->replacePrefix('#__files_containers'))); if ($db->loadResult()) { $db->setQuery("DELETE FROM `#__files_containers` WHERE `slug` = 'docman-files'"); $db->query(); $db->setQuery("DELETE FROM `#__files_containers` WHERE `slug` = 'docman-icons'"); $db->query(); $db->setQuery("DELETE FROM `#__files_containers` WHERE `slug` = 'docman-images'"); $db->query(); } JFactory::getCache()->clean('com_docman'); } return $result; }