From 749b9c333e07c710a4c53fff77b4e1b954bddb33 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Sun, 19 Dec 2010 03:04:06 +0000 Subject: [PATCH] Fix: Fix a lot of regression. There still a lot of new bugs to fix (like compatibility through proxy, or restore performance by avoiding huge number of fil_exists). --- htdocs/admin/modules.php | 8 ++++---- htdocs/includes/menus/standard/auguria.lib.php | 4 ++-- htdocs/includes/menus/standard/eldy.lib.php | 4 ++-- htdocs/install/inc.php | 4 +--- htdocs/lib/functions.lib.php | 4 ++-- htdocs/master.inc.php | 10 +++++----- 6 files changed, 16 insertions(+), 18 deletions(-) diff --git a/htdocs/admin/modules.php b/htdocs/admin/modules.php index 80601ac6547..6b37d6ffc9a 100644 --- a/htdocs/admin/modules.php +++ b/htdocs/admin/modules.php @@ -376,13 +376,13 @@ if ($mode != 4) { if (preg_match('/^([^@]+)@([^@]+)$/i',$urlpage,$regs)) { - if (! defined('DOL_URL_EXTMODULE') || ! DOL_URL_EXTMODULE || file_exists(DOL_URL_ROOT.'/'.$regs[2].'/admin/'.$regs[1])) + if (! DOL_URL_ROOT_ALT || file_exists(DOL_URL_ROOT.'/'.$regs[2].'/admin/'.$regs[1])) { print ''.img_picto($langs->trans("Setup"),"setup").' '; } else { - print ''.img_picto($langs->trans("Setup"),"setup").' '; + print ''.img_picto($langs->trans("Setup"),"setup").' '; } } else @@ -395,13 +395,13 @@ if ($mode != 4) } else if (preg_match('/^([^@]+)@([^@]+)$/i',$objMod->config_page_url,$regs)) { - if (! defined('DOL_URL_EXTMODULE') || ! DOL_URL_EXTMODULE || file_exists(DOL_URL_ROOT.'/'.$regs[2].'/admin/'.$regs[1])) + if (! DOL_URL_ROOT_ALT || file_exists(DOL_URL_ROOT.'/'.$regs[2].'/admin/'.$regs[1])) { print ''.img_picto($langs->trans("Setup"),"setup").''; } else { - print ''.img_picto($langs->trans("Setup"),"setup").''; + print ''.img_picto($langs->trans("Setup"),"setup").''; } } else diff --git a/htdocs/includes/menus/standard/auguria.lib.php b/htdocs/includes/menus/standard/auguria.lib.php index 313e5df77b6..25d9bf34730 100644 --- a/htdocs/includes/menus/standard/auguria.lib.php +++ b/htdocs/includes/menus/standard/auguria.lib.php @@ -65,7 +65,7 @@ function print_auguria_menu($db,$atarget,$type_user) { preg_match('/^([^<]+\.php)/i',$tabMenu[$i]['url'],$regs); $url=DOL_URL_ROOT.$tabMenu[$i]['url']; - if (defined('DOL_URL_EXTMODULE') && DOL_URL_EXTMODULE && ! file_exists(DOL_DOCUMENT_ROOT.$tabMenu[$i]['url'])) $url=DOL_URL_EXTMODULE.$tabMenu[$i]['url']; + if (DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.$tabMenu[$i]['url'])) $url=DOL_URL_ROOT_ALT.$tabMenu[$i]['url']; if (! preg_match('/\?/',$url)) $url.='?'; else $url.='&'; if (! preg_match('/mainmenu/i',$url) || ! preg_match('/leftmenu/i',$url)) @@ -279,7 +279,7 @@ function print_left_auguria_menu($db,$menu_array_before,$menu_array_after) // Add mainmenu in GET url. This make to go back on correct menu even when using Back on browser. preg_match('/^([^<]+\.php)/i',$menu_array[$i]['url'],$regs); $url=DOL_URL_ROOT.$menu_array[$i]['url']; - if (defined('DOL_URL_EXTMODULE') && DOL_URL_EXTMODULE && ! file_exists(DOL_DOCUMENT_ROOT.$regs[1])) $url=DOL_URL_EXTMODULE.$menu_array[$i]['url']; + if (DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.$regs[1])) $url=DOL_URL_ROOT_ALT.$menu_array[$i]['url']; if (! preg_match('/mainmenu=/i',$menu_array[$i]['url'])) { diff --git a/htdocs/includes/menus/standard/eldy.lib.php b/htdocs/includes/menus/standard/eldy.lib.php index 3942082e26d..bf341aff200 100644 --- a/htdocs/includes/menus/standard/eldy.lib.php +++ b/htdocs/includes/menus/standard/eldy.lib.php @@ -454,7 +454,7 @@ function print_eldy_menu($db,$atarget,$type_user) else { $url=DOL_URL_ROOT.$tabMenu[$i]['url']; - if (defined('DOL_URL_EXTMODULE') && DOL_URL_EXTMODULE && ! file_exists(DOL_DOCUMENT_ROOT.$tabMenu[$i]['url'])) $url=DOL_URL_EXTMODULE.$tabMenu[$i]['url']; + if (DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.$tabMenu[$i]['url'])) $url=DOL_URL_ROOT_ALT.$tabMenu[$i]['url']; if (! preg_match('/\?/',$url)) $url.='?'; else $url.='&'; if (! preg_match('/mainmenu/i',$url) || ! preg_match('/leftmenu/i',$url)) @@ -1388,7 +1388,7 @@ function print_left_eldy_menu($db,$menu_array_before,$menu_array_after) // For external modules preg_match('/^([^<]+\.php)/i',$menu_array[$i]['url'],$regs); $url=DOL_URL_ROOT.$menu_array[$i]['url']; - if (defined('DOL_URL_EXTMODULE') && DOL_URL_EXTMODULE && ! file_exists(DOL_DOCUMENT_ROOT.$regs[1])) $url=DOL_URL_EXTMODULE.$menu_array[$i]['url']; + if (DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.$regs[1])) $url=DOL_URL_ROOT_ALT.$menu_array[$i]['url']; // Menu niveau 0 if ($menu_array[$i]['level'] == 0) diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php index 88d14386383..437634fedb2 100644 --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -123,15 +123,13 @@ $conf->global->MAIN_LOGTOHTML=1; if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_'; define('MAIN_DB_PREFIX',(isset($dolibarr_main_db_prefix)?$dolibarr_main_db_prefix:'')); -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_ROOT_ALT', (isset($dolibarr_main_document_root_alt)?$dolibarr_main_document_root_alt:'')); // Filesystem path to external root dir (external modules) +define('DOL_DATA_ROOT',(isset($dolibarr_main_data_root)?$dolibarr_main_data_root:'')); 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"; diff --git a/htdocs/lib/functions.lib.php b/htdocs/lib/functions.lib.php index a436021aa33..c2d5c7d738c 100644 --- a/htdocs/lib/functions.lib.php +++ b/htdocs/lib/functions.lib.php @@ -1154,7 +1154,7 @@ function img_object($alt, $object, $cssclass='') $object = $regs[1]; $path = $regs[2]; // If img file not into standard path, we use alternate path - if (! file_exists(DOL_DOCUMENT_ROOT.'/'.$path.'/img/object_'.$object.'.png')) $url = DOL_URL_EXTMODULE; + if (DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.'/'.$path.'/img/object_'.$object.'.png')) $url = DOL_URL_ROOT_ALT; } return ''.dol_escape_htmltag($alt).''; @@ -1182,7 +1182,7 @@ function img_picto($alt, $picto, $options='', $pictoisfullpath=0) { $picto = $regs[1]; $path = $regs[2]; - if (! file_exists(DOL_DOCUMENT_ROOT.'/'.$path.'/img/'.$picto)) $url = DOL_URL_EXTMODULE; + if (DOL_URL_ROOT_ALT && ! file_exists(DOL_DOCUMENT_ROOT.'/'.$path.'/img/'.$picto)) $url = DOL_URL_ROOT_ALT; } if (! preg_match('/(\.png|\.gif)$/i',$picto)) $picto.='.png'; diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index aae5f3b937a..c35f92e7b84 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -101,10 +101,10 @@ if (empty($dolibarr_main_data_root)) } // Define some constants -define('DOL_DOCUMENT_ROOT', $dolibarr_main_document_root); // Filesystem core php (htdocs) -define('DOL_DATA_ROOT', $dolibarr_main_data_root); // Filesystem data (documents) define('DOL_CLASS_PATH', 'class/'); // Filesystem path to class dir -define('DOL_DOCUMENT_ROOT_ALT', $dolibarr_main_document_root_alt); // Filesystem path to external modules dir +define('DOL_DATA_ROOT', $dolibarr_main_data_root); // Filesystem data (documents) +define('DOL_DOCUMENT_ROOT', $dolibarr_main_document_root); // Filesystem core php (htdocs) +define('DOL_DOCUMENT_ROOT_ALT', $dolibarr_main_document_root_alt); // Filesystem paths to alternate core php (alternate htdocs) // If dolibarr_main_url_root = auto (Hidden feature for developers only), we try to forge it. if ($dolibarr_main_url_root == 'auto' && ! empty($_SERVER["SCRIPT_URL"]) && ! empty($_SERVER["SCRIPT_URI"])) { @@ -112,11 +112,11 @@ if ($dolibarr_main_url_root == 'auto' && ! empty($_SERVER["SCRIPT_URL"]) && ! em } define('DOL_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 +$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', ...) if (! empty($dolibarr_main_url_root_static)) define('DOL_URL_ROOT_FULL_STATIC', $dolibarr_main_url_root_static); // Used to put static images on another domain -define('DOL_URL_EXTMODULE', DOL_URL_ROOT.$dolibarr_main_url_root_alt); // URL relative for external modules +define('DOL_URL_ROOT_ALT', DOL_URL_ROOT.$dolibarr_main_url_root_alt); // URL relative for external modules /* * Include functions