From a41e89af76862fbfb0a5ce0a4d9354a612f63bdc Mon Sep 17 00:00:00 2001 From: Matthew Vale Date: Wed, 13 Jan 2016 11:47:07 +0000 Subject: [PATCH] Added full logic to support cli as well --- .project.ROOT | 0 app/access_controls/root.php | 28 +++++- app/adminer/root.php | 28 +++++- app/backup/root.php | 28 +++++- app/call_block/root.php | 28 +++++- app/call_broadcast/root.php | 28 +++++- app/call_center_active/root.php | 28 +++++- app/call_centers/root.php | 28 +++++- app/call_flows/root.php | 28 +++++- app/calls/root.php | 28 +++++- app/calls_active/root.php | 28 +++++- app/click_to_call/root.php | 28 +++++- app/conference_centers/root.php | 28 +++++- app/conferences/root.php | 28 +++++- app/conferences_active/root.php | 28 +++++- app/contacts/root.php | 28 +++++- app/destinations/root.php | 28 +++++- app/devices/root.php | 28 +++++- app/dialplan/root.php | 28 +++++- app/dialplan_inbound/root.php | 28 +++++- app/dialplan_outbound/root.php | 28 +++++- app/edit/root.php | 28 +++++- app/emails/root.php | 28 +++++- app/exec/root.php | 28 +++++- app/extensions/root.php | 28 +++++- app/fax/root.php | 28 +++++- app/fifo/root.php | 28 +++++- app/fifo_list/root.php | 28 +++++- app/follow_me/root.php | 28 +++++- app/gateways/root.php | 28 +++++- app/ivr_menus/root.php | 28 +++++- app/log_viewer/root.php | 28 +++++- app/modules/root.php | 28 +++++- app/music_on_hold/root.php | 28 +++++- app/operator_panel/root.php | 28 +++++- app/phrases/root.php | 28 +++++- app/provision/root.php | 28 +++++- app/recordings/root.php | 28 +++++- app/registrations/root.php | 28 +++++- app/ring_groups/root.php | 28 +++++- app/services/root.php | 28 +++++- app/settings/root.php | 28 +++++- app/sip_profiles/root.php | 28 +++++- app/sip_status/root.php | 28 +++++- app/sql_query/root.php | 28 +++++- app/system/root.php | 28 +++++- app/tenant_settings/app_config.php | 34 +++++++ app/tenant_settings/app_defaults.php | 27 ++++++ app/tenant_settings/app_languages.php | 13 +++ app/tenant_settings/app_menu.php | 22 +++++ app/tenant_settings/root.php | 83 ++++++++++++++++ app/tenant_settings/tenant_settings.php | 123 ++++++++++++++++++++++++ app/time_conditions/root.php | 28 +++++- app/traffic_graph/root.php | 28 +++++- app/vars/root.php | 28 +++++- app/voicemail_greetings/root.php | 28 +++++- app/voicemails/root.php | 28 +++++- app/xml_cdr/root.php | 28 +++++- core/apps/root.php | 28 +++++- core/databases/root.php | 28 +++++- core/default_settings/root.php | 28 +++++- core/domain_settings/root.php | 28 +++++- core/install/root.php | 28 +++++- core/menu/root.php | 28 +++++- core/notifications/root.php | 28 +++++- core/upgrade/root.php | 28 +++++- core/user_settings/root.php | 28 +++++- core/users/root.php | 28 +++++- resources/captcha/root.php | 28 +++++- resources/classes/root.php | 28 +++++- resources/root.php | 28 +++++- root.php | 28 +++++- secure/root.php | 28 +++++- themes/accessible/root.php | 28 +++++- themes/enhanced/root.php | 28 +++++- themes/minimized/root.php | 28 +++++- 76 files changed, 1889 insertions(+), 345 deletions(-) create mode 100644 .project.ROOT create mode 100644 app/tenant_settings/app_config.php create mode 100644 app/tenant_settings/app_defaults.php create mode 100644 app/tenant_settings/app_languages.php create mode 100644 app/tenant_settings/app_menu.php create mode 100644 app/tenant_settings/root.php create mode 100644 app/tenant_settings/tenant_settings.php diff --git a/.project.ROOT b/.project.ROOT new file mode 100644 index 0000000000..e69de29bb2 diff --git a/app/access_controls/root.php b/app/access_controls/root.php index 7b68178790..f5570b5609 100644 --- a/app/access_controls/root.php +++ b/app/access_controls/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/adminer/root.php b/app/adminer/root.php index 7b68178790..f5570b5609 100644 --- a/app/adminer/root.php +++ b/app/adminer/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/backup/root.php b/app/backup/root.php index 7b68178790..f5570b5609 100755 --- a/app/backup/root.php +++ b/app/backup/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/call_block/root.php b/app/call_block/root.php index 7b68178790..f5570b5609 100644 --- a/app/call_block/root.php +++ b/app/call_block/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/call_broadcast/root.php b/app/call_broadcast/root.php index 7b68178790..f5570b5609 100644 --- a/app/call_broadcast/root.php +++ b/app/call_broadcast/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/call_center_active/root.php b/app/call_center_active/root.php index 7b68178790..f5570b5609 100644 --- a/app/call_center_active/root.php +++ b/app/call_center_active/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/call_centers/root.php b/app/call_centers/root.php index 7b68178790..f5570b5609 100644 --- a/app/call_centers/root.php +++ b/app/call_centers/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/call_flows/root.php b/app/call_flows/root.php index 7b68178790..f5570b5609 100644 --- a/app/call_flows/root.php +++ b/app/call_flows/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/calls/root.php b/app/calls/root.php index 7b68178790..f5570b5609 100644 --- a/app/calls/root.php +++ b/app/calls/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/calls_active/root.php b/app/calls_active/root.php index 7b68178790..f5570b5609 100644 --- a/app/calls_active/root.php +++ b/app/calls_active/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/click_to_call/root.php b/app/click_to_call/root.php index 7b68178790..f5570b5609 100644 --- a/app/click_to_call/root.php +++ b/app/click_to_call/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/conference_centers/root.php b/app/conference_centers/root.php index 7b68178790..f5570b5609 100644 --- a/app/conference_centers/root.php +++ b/app/conference_centers/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/conferences/root.php b/app/conferences/root.php index 7b68178790..f5570b5609 100644 --- a/app/conferences/root.php +++ b/app/conferences/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/conferences_active/root.php b/app/conferences_active/root.php index 7b68178790..f5570b5609 100644 --- a/app/conferences_active/root.php +++ b/app/conferences_active/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/contacts/root.php b/app/contacts/root.php index 7b68178790..f5570b5609 100644 --- a/app/contacts/root.php +++ b/app/contacts/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/destinations/root.php b/app/destinations/root.php index 7b68178790..f5570b5609 100644 --- a/app/destinations/root.php +++ b/app/destinations/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/devices/root.php b/app/devices/root.php index 7b68178790..f5570b5609 100644 --- a/app/devices/root.php +++ b/app/devices/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/dialplan/root.php b/app/dialplan/root.php index 7b68178790..f5570b5609 100644 --- a/app/dialplan/root.php +++ b/app/dialplan/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/dialplan_inbound/root.php b/app/dialplan_inbound/root.php index 7b68178790..f5570b5609 100644 --- a/app/dialplan_inbound/root.php +++ b/app/dialplan_inbound/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/dialplan_outbound/root.php b/app/dialplan_outbound/root.php index 7b68178790..f5570b5609 100644 --- a/app/dialplan_outbound/root.php +++ b/app/dialplan_outbound/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/edit/root.php b/app/edit/root.php index 7b68178790..f5570b5609 100644 --- a/app/edit/root.php +++ b/app/edit/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/emails/root.php b/app/emails/root.php index 7b68178790..f5570b5609 100644 --- a/app/emails/root.php +++ b/app/emails/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/exec/root.php b/app/exec/root.php index 7b68178790..f5570b5609 100644 --- a/app/exec/root.php +++ b/app/exec/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/extensions/root.php b/app/extensions/root.php index 7b68178790..f5570b5609 100644 --- a/app/extensions/root.php +++ b/app/extensions/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/fax/root.php b/app/fax/root.php index 7b68178790..f5570b5609 100644 --- a/app/fax/root.php +++ b/app/fax/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/fifo/root.php b/app/fifo/root.php index 7b68178790..f5570b5609 100644 --- a/app/fifo/root.php +++ b/app/fifo/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/fifo_list/root.php b/app/fifo_list/root.php index 7b68178790..f5570b5609 100644 --- a/app/fifo_list/root.php +++ b/app/fifo_list/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/follow_me/root.php b/app/follow_me/root.php index 7b68178790..f5570b5609 100644 --- a/app/follow_me/root.php +++ b/app/follow_me/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/gateways/root.php b/app/gateways/root.php index 7b68178790..f5570b5609 100644 --- a/app/gateways/root.php +++ b/app/gateways/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/ivr_menus/root.php b/app/ivr_menus/root.php index 7b68178790..f5570b5609 100644 --- a/app/ivr_menus/root.php +++ b/app/ivr_menus/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/log_viewer/root.php b/app/log_viewer/root.php index 7b68178790..f5570b5609 100644 --- a/app/log_viewer/root.php +++ b/app/log_viewer/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/modules/root.php b/app/modules/root.php index 7b68178790..f5570b5609 100644 --- a/app/modules/root.php +++ b/app/modules/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/music_on_hold/root.php b/app/music_on_hold/root.php index 7b68178790..f5570b5609 100644 --- a/app/music_on_hold/root.php +++ b/app/music_on_hold/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/operator_panel/root.php b/app/operator_panel/root.php index 7b68178790..f5570b5609 100644 --- a/app/operator_panel/root.php +++ b/app/operator_panel/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/phrases/root.php b/app/phrases/root.php index 7b68178790..f5570b5609 100644 --- a/app/phrases/root.php +++ b/app/phrases/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/provision/root.php b/app/provision/root.php index 7b68178790..f5570b5609 100644 --- a/app/provision/root.php +++ b/app/provision/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/recordings/root.php b/app/recordings/root.php index 7b68178790..f5570b5609 100644 --- a/app/recordings/root.php +++ b/app/recordings/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/registrations/root.php b/app/registrations/root.php index 7b68178790..f5570b5609 100644 --- a/app/registrations/root.php +++ b/app/registrations/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/ring_groups/root.php b/app/ring_groups/root.php index 7b68178790..f5570b5609 100644 --- a/app/ring_groups/root.php +++ b/app/ring_groups/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/services/root.php b/app/services/root.php index 7b68178790..f5570b5609 100644 --- a/app/services/root.php +++ b/app/services/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/settings/root.php b/app/settings/root.php index 7b68178790..f5570b5609 100644 --- a/app/settings/root.php +++ b/app/settings/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/sip_profiles/root.php b/app/sip_profiles/root.php index 7b68178790..f5570b5609 100644 --- a/app/sip_profiles/root.php +++ b/app/sip_profiles/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/sip_status/root.php b/app/sip_status/root.php index 7b68178790..f5570b5609 100644 --- a/app/sip_status/root.php +++ b/app/sip_status/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/sql_query/root.php b/app/sql_query/root.php index 7b68178790..f5570b5609 100644 --- a/app/sql_query/root.php +++ b/app/sql_query/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/system/root.php b/app/system/root.php index 7b68178790..f5570b5609 100644 --- a/app/system/root.php +++ b/app/system/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/tenant_settings/app_config.php b/app/tenant_settings/app_config.php new file mode 100644 index 0000000000..96cf025ccd --- /dev/null +++ b/app/tenant_settings/app_config.php @@ -0,0 +1,34 @@ + \ No newline at end of file diff --git a/app/tenant_settings/app_defaults.php b/app/tenant_settings/app_defaults.php new file mode 100644 index 0000000000..2ac03f6e28 --- /dev/null +++ b/app/tenant_settings/app_defaults.php @@ -0,0 +1,27 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2015 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Matthew Vale +*/ + +?> \ No newline at end of file diff --git a/app/tenant_settings/app_languages.php b/app/tenant_settings/app_languages.php new file mode 100644 index 0000000000..5ec9b9f028 --- /dev/null +++ b/app/tenant_settings/app_languages.php @@ -0,0 +1,13 @@ + \ No newline at end of file diff --git a/app/tenant_settings/app_menu.php b/app/tenant_settings/app_menu.php new file mode 100644 index 0000000000..573d9fb590 --- /dev/null +++ b/app/tenant_settings/app_menu.php @@ -0,0 +1,22 @@ + \ No newline at end of file diff --git a/app/tenant_settings/root.php b/app/tenant_settings/root.php new file mode 100644 index 0000000000..f5570b5609 --- /dev/null +++ b/app/tenant_settings/root.php @@ -0,0 +1,83 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2012 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Mark J Crane +*/ + +// make sure the PATH_SEPARATOR is defined + if (!defined("PATH_SEPARATOR")) { + if (strpos($_ENV["OS"], "Win") !== false) { + define("PATH_SEPARATOR", ";"); + } else { + define("PATH_SEPARATOR", ":"); + } + } + + // make sure the document_root is set + $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } + $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); +// try to detect if a project path is being used + if (!defined('PROJECT_PATH')) { + if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { + define('PROJECT_PATH', '/fusionpbx'); + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { + define('PROJECT_PATH', ''); + } else { + $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); + $i = 1; + $path = $_SERVER["DOCUMENT_ROOT"]; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + $project_path = str_replace($_SERVER["DOCUMENT_ROOT"], "", $path); + define('PROJECT_PATH', $project_path); + } + $_SERVER["PROJECT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"] . PROJECT_PATH); + set_include_path(get_include_path() . PATH_SEPARATOR . $_SERVER["PROJECT_ROOT"]); + } + +?> \ No newline at end of file diff --git a/app/tenant_settings/tenant_settings.php b/app/tenant_settings/tenant_settings.php new file mode 100644 index 0000000000..6f9664579d --- /dev/null +++ b/app/tenant_settings/tenant_settings.php @@ -0,0 +1,123 @@ + + Portions created by the Initial Developer are Copyright (C) 2008-2015 + the Initial Developer. All Rights Reserved. + + Contributor(s): + Matthew Vale +*/ +require_once "root.php"; +require_once "resources/require.php"; +require_once "resources/check_auth.php"; +if (permission_exists('tenant_settings_view')) { + //access granted +} +else { + echo "access denied"; + exit; +} +//add multi-lingual support + $language = new text; + $text = $language->get(); + +//header and paging + require_once "resources/header.php"; + $document['title'] = $text['title-tenant_settings']; + require_once "resources/paging.php"; + +//get variables used to control the order + $order_by = $_GET["order_by"]; + $order = $_GET["order"]; + +//copy settings javascript + if (permission_exists("tenant_settings_admin") && count($_SESSION['domains']) > 1) { + echo ""; + } + +//show the content + echo "
"; + echo ""; + + echo "\n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo " \n"; + echo "
"; + echo " ".$text['header-default_settings'].""; + echo "

"; + echo " ".$text['description-default_settings']; + echo "
"; + echo " \n"; + if (permission_exists("domain_select") && permission_exists("domain_setting_add") && count($_SESSION['domains']) > 1) { + echo " "; + echo " "; + echo " \n"; + echo " "; + } + echo " "; + echo "
\n"; + echo "
"; + + +//include the footer + require_once "resources/footer.php"; +?> \ No newline at end of file diff --git a/app/time_conditions/root.php b/app/time_conditions/root.php index 7b68178790..f5570b5609 100644 --- a/app/time_conditions/root.php +++ b/app/time_conditions/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/traffic_graph/root.php b/app/traffic_graph/root.php index 7b68178790..f5570b5609 100644 --- a/app/traffic_graph/root.php +++ b/app/traffic_graph/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/vars/root.php b/app/vars/root.php index 7b68178790..f5570b5609 100644 --- a/app/vars/root.php +++ b/app/vars/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/voicemail_greetings/root.php b/app/voicemail_greetings/root.php index 7b68178790..f5570b5609 100644 --- a/app/voicemail_greetings/root.php +++ b/app/voicemail_greetings/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/voicemails/root.php b/app/voicemails/root.php index 7b68178790..f5570b5609 100644 --- a/app/voicemails/root.php +++ b/app/voicemails/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/app/xml_cdr/root.php b/app/xml_cdr/root.php index 7b68178790..f5570b5609 100644 --- a/app/xml_cdr/root.php +++ b/app/xml_cdr/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/apps/root.php b/core/apps/root.php index 7b68178790..f5570b5609 100644 --- a/core/apps/root.php +++ b/core/apps/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/databases/root.php b/core/databases/root.php index 7b68178790..f5570b5609 100644 --- a/core/databases/root.php +++ b/core/databases/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/default_settings/root.php b/core/default_settings/root.php index 7b68178790..f5570b5609 100644 --- a/core/default_settings/root.php +++ b/core/default_settings/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/domain_settings/root.php b/core/domain_settings/root.php index 7b68178790..f5570b5609 100644 --- a/core/domain_settings/root.php +++ b/core/domain_settings/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/install/root.php b/core/install/root.php index 7b68178790..f5570b5609 100644 --- a/core/install/root.php +++ b/core/install/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/menu/root.php b/core/menu/root.php index 7b68178790..f5570b5609 100644 --- a/core/menu/root.php +++ b/core/menu/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/notifications/root.php b/core/notifications/root.php index 7b68178790..f5570b5609 100644 --- a/core/notifications/root.php +++ b/core/notifications/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/upgrade/root.php b/core/upgrade/root.php index 7b68178790..f5570b5609 100644 --- a/core/upgrade/root.php +++ b/core/upgrade/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/user_settings/root.php b/core/user_settings/root.php index 7b68178790..f5570b5609 100644 --- a/core/user_settings/root.php +++ b/core/user_settings/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/core/users/root.php b/core/users/root.php index 7b68178790..f5570b5609 100644 --- a/core/users/root.php +++ b/core/users/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/resources/captcha/root.php b/resources/captcha/root.php index 7b68178790..f5570b5609 100644 --- a/resources/captcha/root.php +++ b/resources/captcha/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/resources/classes/root.php b/resources/classes/root.php index 7b68178790..f5570b5609 100644 --- a/resources/classes/root.php +++ b/resources/classes/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/resources/root.php b/resources/root.php index 7b68178790..f5570b5609 100644 --- a/resources/root.php +++ b/resources/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/root.php b/root.php index 7b68178790..f5570b5609 100644 --- a/root.php +++ b/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/secure/root.php b/secure/root.php index 7b68178790..f5570b5609 100644 --- a/secure/root.php +++ b/secure/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/themes/accessible/root.php b/themes/accessible/root.php index 7b68178790..f5570b5609 100644 --- a/themes/accessible/root.php +++ b/themes/accessible/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/themes/enhanced/root.php b/themes/enhanced/root.php index 7b68178790..f5570b5609 100644 --- a/themes/enhanced/root.php +++ b/themes/enhanced/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++; diff --git a/themes/minimized/root.php b/themes/minimized/root.php index 7b68178790..f5570b5609 100644 --- a/themes/minimized/root.php +++ b/themes/minimized/root.php @@ -33,16 +33,34 @@ } } -// make sure the document_root is set + // make sure the document_root is set $_SERVER["SCRIPT_FILENAME"] = str_replace("\\", '/', $_SERVER["SCRIPT_FILENAME"]); - $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + if(PHP_SAPI == 'cli'){ + $script_full_path = str_replace("\\", '/', getcwd() . '/' . $_SERVER["SCRIPT_FILENAME"]); + $dirs = explode('/', pathinfo($script_full_path, PATHINFO_DIRNAME)); + if (file_exists('/.project.ROOT')) { + $path = '/'; + } else { + $i = 1; + $path = ''; + while ($i < count($dirs)) { + $path .= '/' . $dirs[$i]; + if (file_exists($path. '/.project.ROOT')) { + break; + } + $i++; + } + } + $_SERVER["DOCUMENT_ROOT"] = $path; + }else{ + $_SERVER["DOCUMENT_ROOT"] = str_replace($_SERVER["PHP_SELF"], "", $_SERVER["SCRIPT_FILENAME"]); + } $_SERVER["DOCUMENT_ROOT"] = realpath($_SERVER["DOCUMENT_ROOT"]); - // try to detect if a project path is being used if (!defined('PROJECT_PATH')) { if (is_dir($_SERVER["DOCUMENT_ROOT"]. '/fusionpbx')) { define('PROJECT_PATH', '/fusionpbx'); - } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/README.md')) { + } elseif (file_exists($_SERVER["DOCUMENT_ROOT"]. '/.project.ROOT')) { define('PROJECT_PATH', ''); } else { $dirs = explode('/', str_replace('\\', '/', pathinfo($_SERVER["PHP_SELF"], PATHINFO_DIRNAME))); @@ -50,7 +68,7 @@ $path = $_SERVER["DOCUMENT_ROOT"]; while ($i < count($dirs)) { $path .= '/' . $dirs[$i]; - if (file_exists($path. '/README.md')) { + if (file_exists($path. '/.project.ROOT')) { break; } $i++;