Fix dol_buildpath with parameter 3. Add phpunit tests
This commit is contained in:
parent
090f13afa4
commit
3882fa0c3d
@ -368,7 +368,21 @@ function dol_buildpath($path, $type=0)
|
|||||||
|
|
||||||
foreach ($conf->file->dol_document_root as $key => $dirroot) // ex: array(["main"]=>"/home/main/htdocs", ["alt0"]=>"/home/dirmod/htdocs", ...)
|
foreach ($conf->file->dol_document_root as $key => $dirroot) // ex: array(["main"]=>"/home/main/htdocs", ["alt0"]=>"/home/dirmod/htdocs", ...)
|
||||||
{
|
{
|
||||||
if ($key == 'main') continue;
|
if ($key == 'main')
|
||||||
|
{
|
||||||
|
if ($type == 3)
|
||||||
|
{
|
||||||
|
global $dolibarr_main_url_root;
|
||||||
|
|
||||||
|
// Define $urlwithroot
|
||||||
|
$urlwithouturlroot=preg_replace('/'.preg_quote(DOL_URL_ROOT,'/').'$/i','',trim($dolibarr_main_url_root));
|
||||||
|
$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
|
||||||
|
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
|
||||||
|
|
||||||
|
$res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':$urlwithroot).'/'.$path; // Test on start with http is for old conf syntax
|
||||||
|
}
|
||||||
|
continue;
|
||||||
|
}
|
||||||
preg_match('/^([^\?]+(\.css\.php|\.css|\.js\.php|\.js|\.png|\.jpg|\.php)?)/i',$path,$regs); // Take part before '?'
|
preg_match('/^([^\?]+(\.css\.php|\.css|\.js\.php|\.js|\.png|\.jpg|\.php)?)/i',$path,$regs); // Take part before '?'
|
||||||
if (! empty($regs[1]))
|
if (! empty($regs[1]))
|
||||||
{
|
{
|
||||||
@ -392,7 +406,7 @@ function dol_buildpath($path, $type=0)
|
|||||||
$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
|
$urlwithroot=$urlwithouturlroot.DOL_URL_ROOT; // This is to use external domain name found into config file
|
||||||
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
|
//$urlwithroot=DOL_MAIN_URL_ROOT; // This is to use same domain name than current
|
||||||
|
|
||||||
$res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':$urlwithroot).$conf->file->dol_url_root[$key].'/'.$path;
|
$res=(preg_match('/^http/i',$conf->file->dol_url_root[$key])?'':$urlwithroot).$conf->file->dol_url_root[$key].'/'.$path; // Test on start with http is for old conf syntax
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -119,6 +119,32 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* testDolBuildPath
|
||||||
|
*
|
||||||
|
* @return boolean
|
||||||
|
*/
|
||||||
|
public function testDolBuildPath()
|
||||||
|
{
|
||||||
|
/*$tmp=dol_buildpath('/google/oauth2callback.php', 0);
|
||||||
|
var_dump($tmp);
|
||||||
|
*/
|
||||||
|
|
||||||
|
/*$tmp=dol_buildpath('/google/oauth2callback.php', 1);
|
||||||
|
var_dump($tmp);
|
||||||
|
*/
|
||||||
|
|
||||||
|
$result=dol_buildpath('/google/oauth2callback.php', 2);
|
||||||
|
print __METHOD__." result=".$result."\n";
|
||||||
|
$this->assertStringStartsWith('http', $result);
|
||||||
|
|
||||||
|
$result=dol_buildpath('/google/oauth2callback.php', 3);
|
||||||
|
print __METHOD__." result=".$result."\n";
|
||||||
|
$this->assertStringStartsWith('http', $result);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* testGetBrowserInfo
|
* testGetBrowserInfo
|
||||||
*
|
*
|
||||||
@ -973,5 +999,5 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user