authorise('core.admin', 'com_akeeba')) { $this->setRedirect('index.php?option=com_akeeba'); return JError::raiseWarning(403, JText::_('JERROR_ALERTNOAUTHOR')); $this->redirect(); } } } function display() { parent::display(); } function update() { // Make sure there are updates available $model =& $this->getModel('Update', 'AkeebaModel'); $updates =& $model->getUpdates(false); if(!$updates->update_available) { $url = JURI::base().'index.php?option=com_akeeba'; $msg = JText::_('UPDATE_ERROR_NOUPDATES'); $this->setRedirect($url, $msg, 'error'); $this->redirect(); return; } // Download the package $package = $updates->package_url.$updates->package_url_suffix; $updater = $this->getModel('Update','AkeebaModel'); $config =& JFactory::getConfig(); $target = $config->getValue('config.tmp_path').DS.'akeeba_update.zip'; $result = $updater->downloadPackage($package, $target); if($result === false) { $url = JURI::base().'index.php?option=com_akeeba'; $msg = JText::_('UPDATE_ERROR_CANTDOWNLOAD'); $this->setRedirect($url, $msg, 'error'); $this->redirect(); return; } // Extract the package jimport('joomla.installer.helper'); $package = $config->getValue('config.tmp_path').DS.$result; $result = JInstallerHelper::unpack($package); if($result === false) { $url = JURI::base().'index.php?option=com_akeeba'; $msg = JText::_('UPDATE_ERROR_CANTEXTRACT'); $this->setRedirect($url, $msg, 'error'); $this->redirect(); return; } // Package extracted; run the installer $tempdir = $result['dir']; @ob_end_clean(); ?>