* * One-click updater for Joomla! extensions * Copyright (C) 2011 Nicholas K. Dionysopoulos / AkeebaBackup.com * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ defined('_JEXEC') or die(); require_once dirname(__FILE__).'/classes/abstractconfig.php'; require_once dirname(__FILE__).'/config.php'; $task = JRequest::getCmd('task'); if($task=='updateDatabase'){ $data = JRequest::get('get'); JRequest::setVar($data['token'], '1', 'post'); JRequest::checkToken() or jexit('Invalid Token, in ' . JRequest::getWord('task')); //Update Tables if (!class_exists( 'VmConfig' )) require(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_virtuemart'.DS.'helpers'.DS.'config.php'); if(!class_exists('Permissions')) require(JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_virtuemart' . DS . 'helpers' . DS . 'permissions.php'); if(!Permissions::getInstance()->check('admin')){ $msg = 'Forget IT'; $this->setRedirect('index.php?option=com_virtuemart_allinone', $msg); } else { if(!class_exists('com_virtuemart_allinoneInstallerScript')) require(JPATH_ROOT.DS.'administrator'.DS.'components'.DS.'com_virtuemart_allinone'.DS.'script.vmallinone.php'); $updater = new com_virtuemart_allinoneInstallerScript(); $updater->vmInstall(); $app = JFactory::getApplication(); $app->redirect('index.php?option=com_virtuemart_allinone', 'Database updated'); } } ?>
load('com_virtuemart', JPATH_ADMINISTRATOR, 'en-GB', true); // Load English (British) $jlang->load('com_virtuemart', JPATH_ADMINISTRATOR, $jlang->getDefault(), true); // Load the site's default language $jlang->load('com_virtuemart', JPATH_ADMINISTRATOR, null, true); // Load the currently selected language ?>
load('liveupdate', $basePath, 'en-GB', true); // Load English (British) $jlang->load('liveupdate', $basePath, $jlang->getDefault(), true); // Load the site's default language $jlang->load('liveupdate', $basePath, null, true); // Load the currently selected language } /** * Handles requests to the "liveupdate" view which is used to display * update information and perform the live updates */ public static function handleRequest() { // Load language strings self::loadLanguage(); // Load the controller and let it run the show require_once dirname(__FILE__).'/classes/controller.php'; $controller = new LiveUpdateController(); $controller->execute(JRequest::getCmd('task','overview')); $controller->redirect(); } /** * Returns update information about your extension, based on your configuration settings * @return stdClass */ public static function getUpdateInformation($force = false) { require_once dirname(__FILE__).'/classes/updatefetch.php'; $update = new LiveUpdateFetch(); $info = $update->getUpdateInformation($force); $hasUpdates = $update->hasUpdates(); $info->hasUpdates = $hasUpdates; $config = LiveUpdateConfig::getInstance(); $extInfo = $config->getExtensionInformation(); $info->extInfo = (object)$extInfo; return $info; } public static function getIcon($config=array()) { // Load language strings self::loadLanguage(); $defaultConfig = array( 'option' => JRequest::getCmd('option',''), 'view' => 'liveupdate', 'mediaurl' => JURI::base().'components/'.JRequest::getCmd('option','').'/liveupdate/assets/' ); $c = array_merge($defaultConfig, $config); $url = 'index.php?option='.$c['option'].'&view='.$c['view']; $img = $c['mediaurl']; $updateInfo = self::getUpdateInformation(); if(!$updateInfo->supported) { // Unsupported $class = 'liveupdate-icon-notsupported'; $img .= 'nosupport-32.png'; $lbl = JText::_('LIVEUPDATE_ICON_UNSUPPORTED'); } elseif($updateInfo->stuck) { // Stuck $class = 'liveupdate-icon-crashed'; $img .= 'nosupport-32.png'; $lbl = JText::_('LIVEUPDATE_ICON_CRASHED'); } elseif($updateInfo->hasUpdates) { // Has updates $class = 'liveupdate-icon-updates'; $img .= 'update-32.png'; $lbl = JText::_('LIVEUPDATE_ICON_UPDATES'); } else { // Already in the latest release $class = 'liveupdate-icon-noupdates'; $img .= 'current-32.png'; $lbl = JText::_('LIVEUPDATE_ICON_CURRENT'); } return '
'. '
'. ''.$lbl.'
'; } }