* Copyright (C) 2009-2012 Regis Houssin * Copyright (C) 2012 Juanjo Menent * * 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 . */ /** * \file htdocs/admin/tools/update.php * \brief Page to make a Dolibarr online upgrade */ require '../../main.inc.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php'; require_once DOL_DOCUMENT_ROOT . '/core/lib/geturl.lib.php'; // Load translation files required by the page $langs->loadLangs(array("admin","other")); $action=GETPOST('action', 'alpha'); if (! $user->admin) accessforbidden(); if (GETPOST('msg', 'alpha')) { setEventMessages(GETPOST('msg', 'alpha'), null, 'errors'); } $urldolibarr='https://www.dolibarr.org/downloads/'; $dolibarrroot=preg_replace('/([\\/]+)$/i', '', DOL_DOCUMENT_ROOT); $dolibarrroot=preg_replace('/([^\\/]+)$/i', '', $dolibarrroot); $dolibarrdataroot=preg_replace('/([\\/]+)$/i', '', DOL_DATA_ROOT); $sfurl = ''; $version='0.0'; /* * Actions */ if ($action == 'getlastversion') { $result = getURLContent('http://sourceforge.net/projects/dolibarr/rss'); //var_dump($result['content']); $sfurl = simplexml_load_string($result['content']); } /* * View */ $wikihelp='EN:Installation_-_Upgrade|FR:Installation_-_Mise_à_jour|ES:Instalación_-_Actualización'; llxHeader('', $langs->trans("Upgrade"), $wikihelp); print load_fiche_titre($langs->trans("Upgrade"), '', 'title_setup'); print '
'; print $langs->trans("CurrentVersion").' : '.DOL_VERSION.'
'; if (function_exists('curl_init')) { $conf->global->MAIN_USE_RESPONSE_TIMEOUT = 10; if ($action == 'getlastversion') { if ($sfurl) { $i=0; while (! empty($sfurl->channel[0]->item[$i]->title) && $i < 10000) { $title=$sfurl->channel[0]->item[$i]->title; if (preg_match('/([0-9]+\.([0-9\.]+))/', $title, $reg)) { $newversion=$reg[1]; $newversionarray=explode('.', $newversion); $versionarray=explode('.', $version); //var_dump($newversionarray);var_dump($versionarray); if (versioncompare($newversionarray, $versionarray) > 0) $version=$newversion; } $i++; } // Show version print $langs->trans("LastStableVersion").' : '. (($version != '0.0')?$version:$langs->trans("Unknown")) .'
'; } else { print $langs->trans("LastStableVersion").' : ' .$langs->trans("UpdateServerOffline").'
'; } } else { print $langs->trans("LastStableVersion").' : ' .$langs->trans("Check").'
'; } } print '
'; print '
'; // Upgrade print $langs->trans("Upgrade").'
'; print '
'; print $langs->trans("ThisIsProcessToFollow").'
'; print ''.$langs->trans("StepNb", 1).': '; $fullurl=''.$urldolibarr.''; print $langs->trans("DownloadPackageFromWebSite", $fullurl).'
'; print ''.$langs->trans("StepNb", 2).': '; print $langs->trans("UnpackPackageInDolibarrRoot", $dolibarrroot).'
'; print ''.$langs->trans("StepNb", 3).': '; print $langs->trans("RemoveLock", $dolibarrdataroot.'/install.lock').'
'; print ''.$langs->trans("StepNb", 4).': '; $fullurl=''.DOL_URL_ROOT.'/install/'; print $langs->trans("CallUpdatePage", $fullurl).'
'; print ''.$langs->trans("StepNb", 5).': '; print $langs->trans("RestoreLock", $dolibarrdataroot.'/install.lock').'
'; print '
'; print '
'; print $langs->trans("AddExtensionThemeModuleOrOther").'
'; print '
'; print $langs->trans("GoModuleSetupArea", DOL_URL_ROOT.'/admin/modules.php?mode=deploy', $langs->transnoentities("Home").' - '.$langs->transnoentities("Setup").' - '.$langs->transnoentities("Modules")); // End of page llxFooter(); $db->close();