Go to the documentation of this file.
25 if (! defined(
'CSRFCHECK_WITH_TOKEN')) {
26 define(
'CSRFCHECK_WITH_TOKEN',
'1');
30 require
'../../main.inc.php';
31 require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
32 require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
33 require_once DOL_DOCUMENT_ROOT.
'/core/lib/geturl.lib.php';
36 $langs->loadLangs(array(
"admin",
"other"));
38 $action =
GETPOST(
'action',
'aZ09');
49 $urldolibarr =
'https://www.dolibarr.org/downloads/';
50 $dolibarrroot = preg_replace(
'/([\\/]+)$/i',
'', DOL_DOCUMENT_ROOT);
51 $dolibarrroot = preg_replace(
'/([^\\/]+)$/i',
'', $dolibarrroot);
52 $dolibarrdataroot = preg_replace(
'/([\\/]+)$/i',
'', DOL_DATA_ROOT);
62 if ($action ==
'getlastversion') {
63 $result =
getURLContent(
'https://sourceforge.net/projects/dolibarr/rss');
65 if (function_exists(
'simplexml_load_string')) {
66 $sfurl = simplexml_load_string($result[
'content'],
'SimpleXMLElement', LIBXML_NOCDATA|LIBXML_NONET);
68 $sfurl =
'xml_not_available';
77 $wikihelp =
'EN:Installation_-_Upgrade|FR:Installation_-_Mise_à_jour|ES:Instalación_-_Actualización';
84 print $langs->trans(
"CurrentVersion").
' : <strong>'.DOL_VERSION.
'</strong><br>';
86 if (function_exists(
'curl_init')) {
87 $conf->global->MAIN_USE_RESPONSE_TIMEOUT = 10;
89 if ($action ==
'getlastversion') {
90 if ($sfurl ==
'xml_not_available') {
91 $langs->load(
"errors");
92 print $langs->trans(
"LastStableVersion").
' : <b class="error">'.$langs->trans(
"ErrorFunctionNotAvailableInPHP",
'simplexml_load_string').
'</b><br>';
95 while (!empty($sfurl->channel[0]->item[$i]->title) && $i < 10000) {
96 $title = $sfurl->channel[0]->item[$i]->title;
97 if (preg_match(
'/([0-9]+\.([0-9\.]+))/', $title, $reg)) {
98 $newversion = $reg[1];
99 $newversionarray = explode(
'.', $newversion);
100 $versionarray = explode(
'.', $version);
103 $version = $newversion;
110 print $langs->trans(
"LastStableVersion").
' : <b>'.(($version !=
'0.0') ? $version : $langs->trans(
"Unknown")).
'</b><br>';
112 print $langs->trans(
"LastStableVersion").
' : <b>'.$langs->trans(
"UpdateServerOffline").
'</b><br>';
115 print $langs->trans(
"LastStableVersion").
' : <a href="'.$_SERVER[
"PHP_SELF"].
'?action=getlastversion&token='.
newToken().
'" class="button smallpaddingimp">'.$langs->trans(
"Check").
'</a><br>';
123 print $langs->trans(
"Upgrade").
'<br>';
125 print $langs->trans(
"ThisIsProcessToFollow").
'<br>';
126 print
'<b>'.$langs->trans(
"StepNb", 1).
'</b>: ';
127 $fullurl =
'<a href="'.$urldolibarr.
'" target="_blank" rel="noopener noreferrer">'.$urldolibarr.
'</a>';
128 print str_replace(
'{s}', $fullurl, $langs->trans(
"DownloadPackageFromWebSite",
'{s}')).
'<br>';
129 print
'<b>'.$langs->trans(
"StepNb", 2).
'</b>: ';
130 print str_replace(
'{s}', $dolibarrroot, $langs->trans(
"UnpackPackageInDolibarrRoot",
'{s}')).
'<br>';
131 print
'<b>'.$langs->trans(
"StepNb", 3).
'</b>: ';
132 print $langs->trans(
"RemoveLock", $dolibarrdataroot.
'/install.lock').
'<br>';
133 print
'<b>'.$langs->trans(
"StepNb", 4).
'</b>: ';
134 $fullurl =
'<a href="'.DOL_URL_ROOT.
'/install/" target="_blank" rel="noopener noreferrer">'.DOL_URL_ROOT.
'/install/</a>';
135 print str_replace(
'{s}', $fullurl, $langs->trans(
"CallUpdatePage",
'{s}')).
'<br>';
136 print
'<b>'.$langs->trans(
"StepNb", 5).
'</b>: ';
137 print $langs->trans(
"RestoreLock", $dolibarrdataroot.
'/install.lock').
'<br>';
146 print $langs->trans(
"AddExtensionThemeModuleOrOther").
'<br>';
148 $texttoshow = $langs->trans(
"GoModuleSetupArea", DOL_URL_ROOT.
'/admin/modules.php?mode=deploy',
'{s2}');
149 $texttoshow = str_replace(
'{s2}',
img_picto(
'',
'tools',
'class="pictofixedwidth"').$langs->transnoentities(
"Home").
' - '.$langs->transnoentities(
"Setup").
' - '.$langs->transnoentities(
"Modules"), $texttoshow);
versioncompare($versionarray1, $versionarray2)
Compare 2 versions (stored into 2 arrays).
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
if(GETPOSTISSET('MAIN_AGENDA_XCAL_EXPORTKEY')) if(GETPOSTISSET('MAIN_AGENDA_EXPORT_PAST_DELAY')) if(GETPOSTISSET('MAIN_AGENDA_EXPORT_CACHE')) if(GETPOSTISSET('AGENDA_EXPORT_FIX_TZ')) if($actionsave) if(!isset($conf->global->MAIN_AGENDA_EXPORT_PAST_DELAY)) $wikihelp
View.
getURLContent($url, $postorget='GET', $param='', $followlocation=1, $addheaders=array(), $allowedschemes=array('http', 'https'), $localurl=0, $ssl_verifypeer=-1)
Function to get a content from an URL (use proxy if proxy defined).
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
if(!defined('NOREQUIRESOC')) if(!defined('NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) llxHeader()
Empty header.
newToken()
Return the value of token currently saved into session with name 'newtoken'.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='')
Set event messages in dol_events session object.
accessforbidden($message='', $printheader=1, $printfooter=1, $showonlymessage=0, $params=null)
Show a message to say access is forbidden and stop program.