Fix: regression and use an exist alternative root

This commit is contained in:
Regis Houssin 2010-12-16 18:10:06 +00:00
parent 2d4925560a
commit df032c618b
4 changed files with 48 additions and 2 deletions

View File

@ -33,6 +33,24 @@ $dolibarr_main_url_root='';
$dolibarr_main_document_root='';
# dolibarr_main_url_root_alt
# This parameter defines the alternative URL of your Dolibarr.
# It must link to the external modules directory.
# Examples:
# $dolibarr_main_url_root_alt='/custom';
#
$dolibarr_main_url_root_alt='';
# dolibarr_main_document_root_alt
# This parameter contains absolute alternative file system directory of Dolibarr
# Examples:
# $dolibarr_main_document_root_alt='/var/www/dolibarr/htdocs/custom';
# $dolibarr_main_document_root_alt='C:/My web sites/dolibarr/htdocs/custom';
#
$dolibarr_main_document_root_alt='';
# dolibarr_main_data_root
# This parameter contains absolute file system directory of Dolibarr
# directory used to store uploaded and generated physical files.

View File

@ -1386,9 +1386,27 @@ class CommonObject
if ($objecttype == 'invoice_supplier') { $classfile='fournisseur.facture'; $classname='FactureFournisseur'; }
if ($objecttype == 'order_supplier') { $classfile='fournisseur.commande'; $classname='CommandeFournisseur'; }
//print $classfile." - ".$classpath." - ".$tplpath;
if(!class_exists($classname)) require(DOL_DOCUMENT_ROOT."/".$classpath."/".$classfile.".class.php");
if(!class_exists($classname))
{
if (file_exists(DOL_DOCUMENT_ROOT."/".$classpath."/".$classfile.".class.php"))
{
require(DOL_DOCUMENT_ROOT."/".$classpath."/".$classfile.".class.php");
}
else
{
require(DOL_DOCUMENT_EXTMODULE."/".$classpath."/".$classfile.".class.php");
}
}
$linkedObjectBlock = new $classname($this->db);
include(DOL_DOCUMENT_ROOT.'/'.$tplpath.'/tpl/linkedobjectblock.tpl.php');
if (file_exists(DOL_DOCUMENT_ROOT.'/'.$tplpath.'/tpl/linkedobjectblock.tpl.php'))
{
include(DOL_DOCUMENT_ROOT.'/'.$tplpath.'/tpl/linkedobjectblock.tpl.php');
}
else
{
include(DOL_DOCUMENT_EXTMODULE.'/'.$tplpath.'/tpl/linkedobjectblock.tpl.php');
}
return $num;
}
}

View File

@ -534,6 +534,12 @@ function write_conf_file($conffile)
fputs($fp, '$dolibarr_main_document_root=\''.addslashes($main_dir).'\';');
fputs($fp,"\n");
fputs($fp, '$dolibarr_main_url_root_alt=\''.addslashes("/custom").'\';');
fputs($fp,"\n");
fputs($fp, '$dolibarr_main_document_root_alt=\''.addslashes($main_dir."/custom").'\';');
fputs($fp,"\n");
fputs($fp, '$dolibarr_main_data_root=\''.addslashes($main_data_dir).'\';');
fputs($fp,"\n");

View File

@ -82,6 +82,8 @@ if (! defined('DONOTLOADCONF') && file_exists($conffile))
if (! empty($dolibarr_main_document_root) && ! preg_match('/^[\\/]+$/',$dolibarr_main_document_root)) $dolibarr_main_document_root=preg_replace('/[\\/]+$/','',$dolibarr_main_document_root);
if (! empty($dolibarr_main_url_root) && ! preg_match('/^[\\/]+$/',$dolibarr_main_url_root)) $dolibarr_main_url_root=preg_replace('/[\\/]+$/','',$dolibarr_main_url_root);
if (! empty($dolibarr_main_data_root) && ! preg_match('/^[\\/]+$/',$dolibarr_main_data_root)) $dolibarr_main_data_root=preg_replace('/[\\/]+$/','',$dolibarr_main_data_root);
if (! empty($dolibarr_main_document_root_alt) && ! preg_match('/^[\\/]+$/',$dolibarr_main_document_root_alt)) $dolibarr_main_document_root_alt=preg_replace('/[\\/]+$/','',$dolibarr_main_document_root_alt);
if (! empty($dolibarr_main_url_root_alt) && ! preg_match('/^[\\/]+$/',$dolibarr_main_url_root_alt)) $dolibarr_main_url_root_alt=preg_replace('/[\\/]+$/','',$dolibarr_main_url_root_alt);
// Create conf object
if (! empty($dolibarr_main_document_root))
@ -123,11 +125,13 @@ define('MAIN_DB_PREFIX',(isset($dolibarr_main_db_prefix)?$dolibarr_main_db_prefi
define('DOL_DATA_ROOT',(isset($dolibarr_main_data_root)?$dolibarr_main_data_root:''));
define('DOL_CLASS_PATH', 'class/'); // Filsystem path to class dir
define('DOL_DOCUMENT_EXTMODULE', (isset($dolibarr_main_document_root_alt)?$dolibarr_main_document_root_alt:'')); // Filesystem path to external modules dir
define('DOL_MAIN_URL_ROOT', (isset($dolibarr_main_url_root)?$dolibarr_main_url_root:'')); // URL relative root
$uri=preg_replace('/^http(s?):\/\//i','',constant('DOL_MAIN_URL_ROOT')); // $uri contains url without http*
$suburi = strstr ($uri, '/'); // $suburi contains url without domain
if ($suburi == '/') $suburi = ''; // If $suburi is /, it is now ''
define('DOL_URL_ROOT', $suburi); // URL relative root ('', '/dolibarr', ...)
define('DOL_URL_EXTMODULE', DOL_URL_ROOT.(isset($dolibarr_main_url_root_alt)?$dolibarr_main_url_root_alt:'')); // URL relative for external modules
if (empty($conf->file->character_set_client)) $conf->file->character_set_client="UTF-8";