diff --git a/api/soap/mantisconnect.php b/api/soap/mantisconnect.php index eeeaa5994d..4246fcaac6 100644 --- a/api/soap/mantisconnect.php +++ b/api/soap/mantisconnect.php @@ -14,8 +14,6 @@ * @link http://www.mantisbt.org */ -set_include_path( '../../library' ); - # Path to MantisBT is assumed to be the grand parent directory. If this is not # the case, then this variable should be set to the MantisBT path. # This can not be a configuration option, then MantisConnect configuration diff --git a/core/plugin_api.php b/core/plugin_api.php index 3f32c84b3a..5280cb6787 100644 --- a/core/plugin_api.php +++ b/core/plugin_api.php @@ -797,6 +797,23 @@ function plugin_include( $p_basename, $p_child = null ) { return $t_included; } +/** + * Allows a plugin page to require a plugin-specific API + * @param string $p_file The API to be included + * @param string $p_basename Plugin's basename (defaults to current plugin) + */ +function plugin_require_api( $p_file, $p_basename = null ) { + if( is_null( $p_basename ) ) { + $t_current = plugin_get_current(); + } else { + $t_current = $p_basename; + } + + $t_path = config_get_global( 'plugin_path' ) . $t_current . '/'; + + require_once( $t_path . $p_file ); +} + /** * Register a plugin with MantisBT. * The plugin class must already be loaded before calling. diff --git a/plugins/MantisGraph/MantisGraph.php b/plugins/MantisGraph/MantisGraph.php index 81e1d1b57e..db0582720f 100644 --- a/plugins/MantisGraph/MantisGraph.php +++ b/plugins/MantisGraph/MantisGraph.php @@ -63,10 +63,6 @@ function config() { */ function init() { spl_autoload_register( array( 'MantisGraphPlugin', 'autoload' ) ); - - $t_path = config_get_global('plugin_path' ). plugin_get_current() . '/core/'; - - set_include_path(get_include_path() . PATH_SEPARATOR . $t_path); } /** @@ -118,4 +114,4 @@ function summary_submenu( ) { '' . plugin_lang_get( 'resolution_link' ) . '', ); } -} \ No newline at end of file +} diff --git a/plugins/MantisGraph/core/graph_api.php b/plugins/MantisGraph/core/graph_api.php index b7edf9d1f0..28289517a9 100644 --- a/plugins/MantisGraph/core/graph_api.php +++ b/plugins/MantisGraph/core/graph_api.php @@ -31,14 +31,12 @@ } $t_jpgraph_path = plugin_config_get( 'jpgraph_path', '' ); if( $t_jpgraph_path !== '' ) { - set_include_path(get_include_path() . PATH_SEPARATOR . $t_jpgraph_path ); - $ip = get_include_path(); - require_once( 'jpgraph.php' ); - require_once( 'jpgraph_line.php' ); - require_once( 'jpgraph_bar.php' ); - require_once( 'jpgraph_pie.php' ); - require_once( 'jpgraph_pie3d.php' ); - require_once( 'jpgraph_canvas.php' ); + require_once( $t_jpgraph_path . 'jpgraph.php' ); + require_once( $t_jpgraph_path . 'jpgraph_line.php' ); + require_once( $t_jpgraph_path . 'jpgraph_bar.php' ); + require_once( $t_jpgraph_path . 'jpgraph_pie.php' ); + require_once( $t_jpgraph_path . 'jpgraph_pie3d.php' ); + require_once( $t_jpgraph_path . 'jpgraph_canvas.php' ); } else { require_lib( 'jpgraph/jpgraph.php' ); require_lib( 'jpgraph/jpgraph_line.php' ); diff --git a/plugins/MantisGraph/pages/bug_graph_bycategory.php b/plugins/MantisGraph/pages/bug_graph_bycategory.php index f823377f6d..397c4d7fd0 100644 --- a/plugins/MantisGraph/pages/bug_graph_bycategory.php +++ b/plugins/MantisGraph/pages/bug_graph_bycategory.php @@ -26,7 +26,7 @@ require_once( 'core.php' ); require_once( 'Period.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/bug_graph_bystatus.php b/plugins/MantisGraph/pages/bug_graph_bystatus.php index 82d4ffc3af..6897e8d65d 100644 --- a/plugins/MantisGraph/pages/bug_graph_bystatus.php +++ b/plugins/MantisGraph/pages/bug_graph_bystatus.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); require_once( 'Period.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_bycategory.php b/plugins/MantisGraph/pages/summary_graph_bycategory.php index 4b0911d108..d58b5e50a6 100644 --- a/plugins/MantisGraph/pages/summary_graph_bycategory.php +++ b/plugins/MantisGraph/pages/summary_graph_bycategory.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_bycategory_pct.php b/plugins/MantisGraph/pages/summary_graph_bycategory_pct.php index b2f5317bfb..3c11a1ccbe 100644 --- a/plugins/MantisGraph/pages/summary_graph_bycategory_pct.php +++ b/plugins/MantisGraph/pages/summary_graph_bycategory_pct.php @@ -24,7 +24,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_bydeveloper.php b/plugins/MantisGraph/pages/summary_graph_bydeveloper.php index 5c0a8b4932..f294939ba0 100644 --- a/plugins/MantisGraph/pages/summary_graph_bydeveloper.php +++ b/plugins/MantisGraph/pages/summary_graph_bydeveloper.php @@ -24,7 +24,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_bypriority.php b/plugins/MantisGraph/pages/summary_graph_bypriority.php index a9da7f4e7b..bafcaecc96 100644 --- a/plugins/MantisGraph/pages/summary_graph_bypriority.php +++ b/plugins/MantisGraph/pages/summary_graph_bypriority.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_bypriority_mix.php b/plugins/MantisGraph/pages/summary_graph_bypriority_mix.php index f8ea02a15c..c95d26f869 100644 --- a/plugins/MantisGraph/pages/summary_graph_bypriority_mix.php +++ b/plugins/MantisGraph/pages/summary_graph_bypriority_mix.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_bypriority_pct.php b/plugins/MantisGraph/pages/summary_graph_bypriority_pct.php index 7cd474e30b..d157ed26d9 100644 --- a/plugins/MantisGraph/pages/summary_graph_bypriority_pct.php +++ b/plugins/MantisGraph/pages/summary_graph_bypriority_pct.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_byreporter.php b/plugins/MantisGraph/pages/summary_graph_byreporter.php index 2db760b803..4c5ab51523 100644 --- a/plugins/MantisGraph/pages/summary_graph_byreporter.php +++ b/plugins/MantisGraph/pages/summary_graph_byreporter.php @@ -24,7 +24,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_byresolution.php b/plugins/MantisGraph/pages/summary_graph_byresolution.php index fb68c84f29..24a72b2e63 100644 --- a/plugins/MantisGraph/pages/summary_graph_byresolution.php +++ b/plugins/MantisGraph/pages/summary_graph_byresolution.php @@ -24,7 +24,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_byresolution_mix.php b/plugins/MantisGraph/pages/summary_graph_byresolution_mix.php index 5254d66798..bcf3669df5 100644 --- a/plugins/MantisGraph/pages/summary_graph_byresolution_mix.php +++ b/plugins/MantisGraph/pages/summary_graph_byresolution_mix.php @@ -24,7 +24,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_byresolution_pct.php b/plugins/MantisGraph/pages/summary_graph_byresolution_pct.php index 20cc0a6623..d6a4f2667b 100644 --- a/plugins/MantisGraph/pages/summary_graph_byresolution_pct.php +++ b/plugins/MantisGraph/pages/summary_graph_byresolution_pct.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_byseverity.php b/plugins/MantisGraph/pages/summary_graph_byseverity.php index 9a47df3ba0..fb0c4e9b20 100644 --- a/plugins/MantisGraph/pages/summary_graph_byseverity.php +++ b/plugins/MantisGraph/pages/summary_graph_byseverity.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_byseverity_mix.php b/plugins/MantisGraph/pages/summary_graph_byseverity_mix.php index 4073c98b71..56ddd5ad28 100644 --- a/plugins/MantisGraph/pages/summary_graph_byseverity_mix.php +++ b/plugins/MantisGraph/pages/summary_graph_byseverity_mix.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_byseverity_pct.php b/plugins/MantisGraph/pages/summary_graph_byseverity_pct.php index 158395e738..eee4f0035e 100644 --- a/plugins/MantisGraph/pages/summary_graph_byseverity_pct.php +++ b/plugins/MantisGraph/pages/summary_graph_byseverity_pct.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_bystatus.php b/plugins/MantisGraph/pages/summary_graph_bystatus.php index 5c6f75378d..baf1e9462b 100644 --- a/plugins/MantisGraph/pages/summary_graph_bystatus.php +++ b/plugins/MantisGraph/pages/summary_graph_bystatus.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_bystatus_pct.php b/plugins/MantisGraph/pages/summary_graph_bystatus_pct.php index 01fb1094cb..28edea31e9 100644 --- a/plugins/MantisGraph/pages/summary_graph_bystatus_pct.php +++ b/plugins/MantisGraph/pages/summary_graph_bystatus_pct.php @@ -24,7 +24,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_cumulative_bydate.php b/plugins/MantisGraph/pages/summary_graph_cumulative_bydate.php index 77cde8021e..b2a515aa17 100644 --- a/plugins/MantisGraph/pages/summary_graph_cumulative_bydate.php +++ b/plugins/MantisGraph/pages/summary_graph_cumulative_bydate.php @@ -24,7 +24,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_imp_category.php b/plugins/MantisGraph/pages/summary_graph_imp_category.php index 3d9c1610cd..3963220861 100644 --- a/plugins/MantisGraph/pages/summary_graph_imp_category.php +++ b/plugins/MantisGraph/pages/summary_graph_imp_category.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_imp_priority.php b/plugins/MantisGraph/pages/summary_graph_imp_priority.php index 9817e2755b..a1db2ad0e4 100644 --- a/plugins/MantisGraph/pages/summary_graph_imp_priority.php +++ b/plugins/MantisGraph/pages/summary_graph_imp_priority.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_imp_resolution.php b/plugins/MantisGraph/pages/summary_graph_imp_resolution.php index a9629915ae..af50a33abf 100644 --- a/plugins/MantisGraph/pages/summary_graph_imp_resolution.php +++ b/plugins/MantisGraph/pages/summary_graph_imp_resolution.php @@ -25,7 +25,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_imp_severity.php b/plugins/MantisGraph/pages/summary_graph_imp_severity.php index 82c0553d52..842a384644 100644 --- a/plugins/MantisGraph/pages/summary_graph_imp_severity.php +++ b/plugins/MantisGraph/pages/summary_graph_imp_severity.php @@ -24,7 +24,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) ); diff --git a/plugins/MantisGraph/pages/summary_graph_imp_status.php b/plugins/MantisGraph/pages/summary_graph_imp_status.php index 29d5748bc3..58a36c4689 100644 --- a/plugins/MantisGraph/pages/summary_graph_imp_status.php +++ b/plugins/MantisGraph/pages/summary_graph_imp_status.php @@ -24,7 +24,7 @@ require_once( 'core.php' ); -require_once( 'graph_api.php' ); +plugin_require_api( 'core/graph_api.php' ); access_ensure_project_level( config_get( 'view_summary_threshold' ) );