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", ...)
|
||||
{
|
||||
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 '?'
|
||||
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=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;
|
||||
}
|
||||
|
||||
@ -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
|
||||
*
|
||||
@ -973,5 +999,5 @@ class FunctionsLibTest extends PHPUnit_Framework_TestCase
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user