|
@@ -22,13 +22,13 @@
|
|
|
* \brief This script create a xml checksum file
|
|
|
*/
|
|
|
|
|
|
-if (! defined('NOREQUIREDB')) {
|
|
|
+if (!defined('NOREQUIREDB')) {
|
|
|
define('NOREQUIREDB', '1'); // Do not create database handler $db
|
|
|
}
|
|
|
|
|
|
$sapi_type = php_sapi_name();
|
|
|
$script_file = basename(__FILE__);
|
|
|
-$path=dirname(__FILE__).'/';
|
|
|
+$path = dirname(__FILE__).'/';
|
|
|
|
|
|
// Test if batch mode
|
|
|
if (substr($sapi_type, 0, 3) == 'cgi') {
|
|
@@ -44,9 +44,9 @@ require_once DOL_DOCUMENT_ROOT."/core/lib/files.lib.php";
|
|
|
* Main
|
|
|
*/
|
|
|
|
|
|
-$includecustom=0;
|
|
|
-$includeconstants=array();
|
|
|
-$buildzip=0;
|
|
|
+$includecustom = 0;
|
|
|
+$includeconstants = array();
|
|
|
+$buildzip = 0;
|
|
|
|
|
|
if (empty($argv[1])) {
|
|
|
print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value] [buildzip=1]\n";
|
|
@@ -55,7 +55,7 @@ if (empty($argv[1])) {
|
|
|
}
|
|
|
|
|
|
|
|
|
-$i=0;
|
|
|
+$i = 0;
|
|
|
$result = array();
|
|
|
while ($i < $argc) {
|
|
|
if (!empty($argv[$i])) {
|
|
@@ -71,10 +71,10 @@ while ($i < $argc) {
|
|
|
$includeconstants[$i] = $result["includeconstant"];
|
|
|
}
|
|
|
if (!empty($result["buildzip"])) {
|
|
|
- $buildzip=1;
|
|
|
+ $buildzip = 1;
|
|
|
}
|
|
|
if (preg_match('/includeconstant=/', strval($argv[$i]))) {
|
|
|
- $tmp=explode(':', $result['includeconstant'], 3); // $includeconstant has been set with previous parse_str()
|
|
|
+ $tmp = explode(':', $result['includeconstant'], 3); // $includeconstant has been set with previous parse_str()
|
|
|
if (count($tmp) != 3) {
|
|
|
print "Error: Bad parameter includeconstant=".$result['includeconstant'] ."\n";
|
|
|
exit -1;
|
|
@@ -93,16 +93,16 @@ if (empty($release)) {
|
|
|
$savrelease = $release;
|
|
|
|
|
|
// If release is auto, we take current version
|
|
|
-$tmpver=explode('-', $release, 2);
|
|
|
+$tmpver = explode('-', $release, 2);
|
|
|
if ($tmpver[0] == 'auto' || $tmpver[0] == 'autostable') {
|
|
|
- $release=DOL_VERSION;
|
|
|
+ $release = DOL_VERSION;
|
|
|
if ($tmpver[1] && $tmpver[0] == 'auto') {
|
|
|
- $release.='-'.$tmpver[1];
|
|
|
+ $release .= '-'.$tmpver[1];
|
|
|
}
|
|
|
}
|
|
|
|
|
|
if (empty($includecustom)) {
|
|
|
- $tmpverbis=explode('-', $release, 2);
|
|
|
+ $tmpverbis = explode('-', $release, 2);
|
|
|
if (empty($tmpverbis[1]) || $tmpver[0] == 'autostable') {
|
|
|
if (DOL_VERSION != $tmpverbis[0] && $savrelease != 'auto') {
|
|
|
print 'Error: When parameter "includecustom" is not set and there is no suffix in release parameter, version declared into filefunc.in.php ('.DOL_VERSION.') must be exact same value than "release" parameter ('.$tmpverbis[0].')'."\n";
|
|
@@ -110,7 +110,7 @@ if (empty($includecustom)) {
|
|
|
exit -1;
|
|
|
}
|
|
|
} else {
|
|
|
- $tmpverter=explode('-', DOL_VERSION, 2);
|
|
|
+ $tmpverter = explode('-', DOL_VERSION, 2);
|
|
|
if ($tmpverter[0] != $tmpverbis[0]) {
|
|
|
print 'Error: When parameter "includecustom" is not set, version declared into filefunc.in.php ('.DOL_VERSION.') must have value without prefix ('.$tmpverter[0].') that is exact same value than "release" parameter ('.$tmpverbis[0].')'."\n";
|
|
|
print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value]\n";
|
|
@@ -118,7 +118,7 @@ if (empty($includecustom)) {
|
|
|
}
|
|
|
}
|
|
|
} else {
|
|
|
- if (! preg_match('/'.preg_quote(DOL_VERSION, '/').'-/', $release)) {
|
|
|
+ if (!preg_match('/'.preg_quote(DOL_VERSION, '/').'-/', $release)) {
|
|
|
print 'Error: When parameter "includecustom" is set, version declared into filefunc.inc.php ('.DOL_VERSION.') must be used with a suffix into "release" parameter (ex: '.DOL_VERSION.'-mydistrib).'."\n";
|
|
|
print "Usage: ".$script_file." release=autostable|auto[-mybuild]|x.y.z[-mybuild] [includecustom=1] [includeconstant=CC:MY_CONF_NAME:value]\n";
|
|
|
exit -1;
|
|
@@ -137,13 +137,13 @@ foreach ($includeconstants as $countrycode => $tmp) {
|
|
|
print "\n";
|
|
|
|
|
|
//$outputfile=dirname(__FILE__).'/../htdocs/install/filelist-'.$release.'.xml';
|
|
|
-$outputdir=dirname(dirname(__FILE__)).'/htdocs/install';
|
|
|
+$outputdir = dirname(dirname(__FILE__)).'/htdocs/install';
|
|
|
print 'Delete current files '.$outputdir.'/filelist*.xml*'."\n";
|
|
|
dol_delete_file($outputdir.'/filelist*.xml*', 0, 1, 1);
|
|
|
|
|
|
-$checksumconcat=array();
|
|
|
+$checksumconcat = array();
|
|
|
|
|
|
-$outputfile=$outputdir.'/filelist-'.$release.'.xml';
|
|
|
+$outputfile = $outputdir.'/filelist-'.$release.'.xml';
|
|
|
$fp = fopen($outputfile, 'w');
|
|
|
if (empty($fp)) {
|
|
|
print 'Failed to open file '.$outputfile."\n";
|
|
@@ -156,8 +156,8 @@ fputs($fp, '<checksum_list version="'.$release.'" date="'.dol_print_date(dol_now
|
|
|
foreach ($includeconstants as $countrycode => $tmp) {
|
|
|
fputs($fp, '<dolibarr_constants country="'.$countrycode.'">'."\n");
|
|
|
foreach ($tmp as $constname => $constvalue) {
|
|
|
- $valueforchecksum=(empty($constvalue)?'0':$constvalue);
|
|
|
- $checksumconcat[]=$valueforchecksum;
|
|
|
+ $valueforchecksum = (empty($constvalue) ? '0' : $constvalue);
|
|
|
+ $checksumconcat[] = $valueforchecksum;
|
|
|
fputs($fp, ' <constant name="'.$constname.'">'.$valueforchecksum.'</constant>'."\n");
|
|
|
}
|
|
|
fputs($fp, '</dolibarr_constants>'."\n");
|
|
@@ -172,26 +172,26 @@ $files = new RegexIterator($iterator1, '#^(?:[A-Z]:)?(?:/(?!(?:'.($includecustom
|
|
|
*/
|
|
|
// Define qualified files (must be same than into generate_filelist_xml.php and in api_setup.class.php)
|
|
|
$regextoinclude = '\.(php|php3|php4|php5|phtml|phps|phar|inc|css|scss|html|xml|js|json|tpl|jpg|jpeg|png|gif|ico|sql|lang|txt|yml|bak|md|mp3|mp4|wav|mkv|z|gz|zip|rar|tar|less|svg|eot|woff|woff2|ttf|manifest)$';
|
|
|
-$regextoexclude = '('.($includecustom?'':'custom|').'documents|conf|install|dejavu-fonts-ttf-.*|public\/test|sabre\/sabre\/.*\/tests|Shared\/PCLZip|nusoap\/lib\/Mail|php\/example|php\/test|geoip\/sample.*\.php|ckeditor\/samples|ckeditor\/adapters)$'; // Exclude dirs
|
|
|
+$regextoexclude = '('.($includecustom ? '' : 'custom|').'documents|conf|install|dejavu-fonts-ttf-.*|public\/test|sabre\/sabre\/.*\/tests|Shared\/PCLZip|nusoap\/lib\/Mail|php\/example|php\/test|geoip\/sample.*\.php|ckeditor\/samples|ckeditor\/adapters)$'; // Exclude dirs
|
|
|
$files = dol_dir_list(DOL_DOCUMENT_ROOT, 'files', 1, $regextoinclude, $regextoexclude, 'fullname');
|
|
|
|
|
|
-$dir='';
|
|
|
-$needtoclose=0;
|
|
|
+$dir = '';
|
|
|
+$needtoclose = 0;
|
|
|
foreach ($files as $filetmp) {
|
|
|
$file = $filetmp['fullname'];
|
|
|
//$newdir = str_replace(dirname(__FILE__).'/../htdocs', '', dirname($file));
|
|
|
$newdir = str_replace(DOL_DOCUMENT_ROOT, '', dirname($file));
|
|
|
- if ($newdir!=$dir) {
|
|
|
+ if ($newdir != $dir) {
|
|
|
if ($needtoclose) {
|
|
|
fputs($fp, ' </dir>'."\n");
|
|
|
}
|
|
|
fputs($fp, ' <dir name="'.$newdir.'">'."\n");
|
|
|
$dir = $newdir;
|
|
|
- $needtoclose=1;
|
|
|
+ $needtoclose = 1;
|
|
|
}
|
|
|
- if (filetype($file)=="file") {
|
|
|
- $md5=md5_file($file);
|
|
|
- $checksumconcat[]=$md5;
|
|
|
+ if (filetype($file) == "file") {
|
|
|
+ $md5 = md5_file($file);
|
|
|
+ $checksumconcat[] = $md5;
|
|
|
fputs($fp, ' <md5file name="'.basename($file).'" size="'.filesize($file).'">'.$md5.'</md5file>'."\n");
|
|
|
}
|
|
|
}
|
|
@@ -205,7 +205,7 @@ fputs($fp, md5(join(',', $checksumconcat))."\n");
|
|
|
fputs($fp, '</dolibarr_htdocs_dir_checksum>'."\n");
|
|
|
|
|
|
|
|
|
-$checksumconcat=array();
|
|
|
+$checksumconcat = array();
|
|
|
|
|
|
fputs($fp, '<dolibarr_script_dir version="'.$release.'">'."\n");
|
|
|
|
|
@@ -215,27 +215,27 @@ $iterator2 = new RecursiveIteratorIterator($dir_iterator2);
|
|
|
// Need to ignore document custom etc. Note: this also ignore natively symbolic links.
|
|
|
$files = new RegexIterator($iterator2, '#^(?:[A-Z]:)?(?:/(?!(?:custom|documents|conf|install))[^/]+)+/[^/]+\.(?:php|css|html|js|json|tpl|jpg|png|gif|sql|lang)$#i');
|
|
|
*/
|
|
|
-$regextoinclude='\.(php|css|html|js|json|tpl|jpg|png|gif|sql|lang)$';
|
|
|
-$regextoexclude='(custom|documents|conf|install)$'; // Exclude dirs
|
|
|
+$regextoinclude = '\.(php|css|html|js|json|tpl|jpg|png|gif|sql|lang)$';
|
|
|
+$regextoexclude = '(custom|documents|conf|install)$'; // Exclude dirs
|
|
|
$files = dol_dir_list(dirname(__FILE__).'/../scripts/', 'files', 1, $regextoinclude, $regextoexclude, 'fullname');
|
|
|
-$dir='';
|
|
|
-$needtoclose=0;
|
|
|
+$dir = '';
|
|
|
+$needtoclose = 0;
|
|
|
foreach ($files as $filetmp) {
|
|
|
$file = $filetmp['fullname'];
|
|
|
//$newdir = str_replace(dirname(__FILE__).'/../scripts', '', dirname($file));
|
|
|
$newdir = str_replace(DOL_DOCUMENT_ROOT, '', dirname($file));
|
|
|
$newdir = str_replace(dirname(__FILE__).'/../scripts', '', dirname($file));
|
|
|
- if ($newdir!=$dir) {
|
|
|
+ if ($newdir != $dir) {
|
|
|
if ($needtoclose) {
|
|
|
fputs($fp, ' </dir>'."\n");
|
|
|
}
|
|
|
fputs($fp, ' <dir name="'.$newdir.'" >'."\n");
|
|
|
$dir = $newdir;
|
|
|
- $needtoclose=1;
|
|
|
+ $needtoclose = 1;
|
|
|
}
|
|
|
- if (filetype($file)=="file") {
|
|
|
- $md5=md5_file($file);
|
|
|
- $checksumconcat[]=$md5;
|
|
|
+ if (filetype($file) == "file") {
|
|
|
+ $md5 = md5_file($file);
|
|
|
+ $checksumconcat[] = $md5;
|
|
|
fputs($fp, ' <md5file name="'.basename($file).'" size="'.filesize($file).'">'.$md5.'</md5file>'."\n");
|
|
|
}
|
|
|
}
|