示例#1
0
 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;
 }
示例#2
0
    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();
    }
示例#3
0
 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;
 }