* 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'; $langs->load("admin"); $langs->load("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")); llxFooter(); $db->close();