Ejemplo n.º 1
0
 /**
  * After update of an extension.
  *
  * @param  JInstaller  $installer  Installer object
  * @param  integer     $eid        Extension identifier
  */
 public function onExtensionAfterUpdate($installer, $eid)
 {
     $msg = '';
     $msg .= $eid === false ? 'Failed extension update: ' . $installer->getError() : 'Extension update successful';
     $msg .= $eid ? ' with updated extension ID ' . $eid : ' with no extension ID detected or multiple extension IDs assigned';
     JLog::add($msg, JLog::INFO, __METHOD__);
 }
Ejemplo n.º 2
0
 public function postflight()
 {
     /* Install plugin */
     $plg = JPATH_SITE . '/administrator/components/com_redform/plugins/content/redform';
     $db = JFactory::getDbo();
     $installer = new JInstaller();
     if ($installer->install($plg)) {
         // autopublish the plugin
         $query = ' UPDATE #__extensions SET enabled = 1 WHERE folder = ' . $db->Quote('content') . ' AND element = ' . $db->Quote('redform');
         $db->setQuery($query);
         if ($db->query()) {
             echo JText::_('COM_REDFORM_Succesfully_installed_redform_content_plugin') . '<br />';
         } else {
             echo JText::_('COM_REDFORM_Error_publishing_redform_content_plugin') . '<br />';
         }
     } else {
         echo JText::_('COM_REDFORM_Plugin_install_failed') . $installer->getError() . '<br />';
     }
 }
Ejemplo n.º 3
0
 /**
  * method to run after an install/update/uninstall method
  *
  * @return void
  */
 public function postflight($type, $parent)
 {
     /* Install redform plugin */
     jimport('joomla.filesystem.file');
     jimport('joomla.filesystem.folder');
     $db =& JFactory::getDBO();
     JFolder::copy(JPATH_SITE . DS . 'administrator' . DS . 'components' . DS . 'com_redevent' . DS . 'extras' . DS . 'redform', JPATH_SITE . DS . 'tmp' . DS . 'redform_redevent', '', true);
     $installer = new JInstaller();
     $installer->setAdapter('plugin');
     if (!$installer->install(JPATH_SITE . DS . 'tmp' . DS . 'redform_redevent')) {
         echo JText::_('COM_REDEVENT_Plugin_install_failed') . $installer->getError() . '<br />';
     } else {
         // autopublish the plugin
         $query = ' UPDATE #__extensions SET enabled = 1 WHERE folder = ' . $db->Quote('redform_integration') . ' AND element = ' . $db->Quote('redevent');
         $db->setQuery($query);
         if ($db->query()) {
             echo JText::_('COM_REDEVENT_Succesfully_installed_redform_integration_plugin') . '<br />';
         } else {
             echo JText::_('COM_REDEVENT_Error_publishing_redform_integration_plugin') . '<br />';
         }
     }
 }
Ejemplo n.º 4
0
 /**
  * Attempts to uninstall the specified extension
  * 
  * @param array $pkg the paket package information
  * @return Boolean True if successful, false otherwise
  */
 function uninstallExtension($package)
 {
     //Get an installer instance, always get a new one
     $installer = new JInstaller();
     //attemp to load the manifest file
     $file = $this->findManifest($package);
     //check to see if the manifest was found
     if (isset($file)) {
         // Is it a valid joomla installation manifest file?
         $manifest = $installer->_isManifest($file);
         if (!is_null($manifest)) {
             // If the root method attribute is set to upgrade, allow file overwrite
             $root = $manifest->document;
             if ($root->attributes('method') == 'upgrade') {
                 $installer->_overwrite = true;
             }
             // Set the manifest object and path
             $installer->_manifest = $manifest;
             $installer->setPath('manifest', $file);
             // Set the installation source path to that of the manifest file
             $installer->setPath('source', dirname($file));
         }
     } else {
         $this->setError(JText::_('COM_TIENDA_UNABLE_TO_LOCATE_MANIFEST_FILE'));
         return false;
     }
     //check if the extension is installed already and if so uninstall it
     //$manifestInformation = $this->paketItemToManifest($package);
     $manifestInformation = $package;
     $elementID = $this->checkIfInstalledAlready($manifestInformation);
     if (!empty($elementID)) {
         $clientid = 0;
         if ($package['client'] == 'administrator') {
             $clientid = '1';
         }
         //uninstall the extension using the joomla uninstaller
         if ($installer->uninstall($manifestInformation["type"], $elementID, $clientid)) {
             $this->setError(JText::_('COM_TIENDA_ELEMENT_UNINSTALLED'));
             return true;
         } else {
             $this->setError(JText::_('COM_TIENDA_ELEMENT_UNINSTALL_FAILED') . " :: " . $installer->getError());
             return false;
         }
     }
     $this->setError(JText::_('COM_TIENDA_ELEMENT_NOT_UNINSTALLED'));
     return false;
 }