View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0009117 | mantisbt | javascript | public | 2008-04-30 10:56 | 2014-12-08 00:34 |
Reporter | schoenfeld | Assigned To | dhx | ||
Priority | normal | Severity | minor | Reproducibility | N/A |
Status | closed | Resolution | fixed | ||
Target Version | 1.3.0-beta.1 | Fixed in Version | 1.3.0-beta.1 | ||
Summary | 0009117: Please remove projax from mantis | ||||
Description | As it appears mantis currently uses a library called projax for some AJAX effects in mantis. Code occurences are in mantis_(update|report)_advanced.php I would request you to remove this stuff, because its bad to ship libraries that are bad maintained upstream or in this case even dead. Attached is a patch which disables projax features without a substituion. I plan to include it in Debian, so please have a look at it, if it is plausible. | ||||
Tags | patch | ||||
Attached Files | projax.patch (4,707 bytes)
Common subdirectories: www/admin and /root/mantis.patched/admin diff -u www/bug_report_advanced_page.php /root/mantis.patched/bug_report_advanced_page.php --- www/bug_report_advanced_page.php 2008-04-29 16:23:24.000000000 +0200 +++ /root/mantis.patched/bug_report_advanced_page.php 2008-04-30 16:44:36.591173024 +0200 @@ -31,7 +31,6 @@ require_once( $t_core_path.'file_api.php' ); require_once( $t_core_path.'custom_field_api.php' ); require_once( $t_core_path.'last_visited_api.php' ); - require_once( $t_core_path.'projax_api.php' ); $f_master_bug_id = gpc_get_int( 'm_id', 0 ); @@ -247,20 +246,12 @@ <?php echo lang_get( 'platform' ) ?> </td> <td> - <?php - if ( config_get( 'allow_freetext_in_profile_fields' ) == OFF ) { - ?> <select name="platform"> <option value=""></option> <?php print_platform_option_list( $f_platform ); ?> </select> - <?php - } else { - projax_autocomplete( 'platform_get_with_prefix', 'platform', array( 'value' => $f_platform, 'size' => '32', 'maxlength' => '32', 'tabindex' => helper_get_tab_index_value() ) ); - } - ?> </td> </tr> @@ -271,20 +262,12 @@ <?php echo lang_get( 'os' ) ?> </td> <td> - <?php - if ( config_get( 'allow_freetext_in_profile_fields' ) == OFF ) { - ?> <select name="os"> <option value=""></option> <?php print_os_option_list( $f_os ); ?> </select> - <?php - } else { - projax_autocomplete( 'os_get_with_prefix', 'os', array( 'value' => $f_os, 'size' => '32', 'maxlength' => '32', 'tabindex' => helper_get_tab_index_value() ) ); - } - ?> </td> </tr> @@ -295,20 +278,12 @@ <?php echo lang_get( 'os_version' ) ?> </td> <td> - <?php - if ( config_get( 'allow_freetext_in_profile_fields' ) == OFF ) { - ?> <select name="os_build"> <option value=""></option> <?php print_os_build_option_list( $f_os_build ); ?> </select> - <?php - } else { - projax_autocomplete( 'os_build_get_with_prefix', 'os_build', array( 'value' => $f_os_build, 'size' => '16', 'maxlength' => '16', 'tabindex' => helper_get_tab_index_value() ) ); - } - ?> </td> </tr> diff -u www/bug_update_advanced_page.php /root/mantis.patched/bug_update_advanced_page.php --- www/bug_update_advanced_page.php 2008-04-29 16:23:24.000000000 +0200 +++ /root/mantis.patched/bug_update_advanced_page.php 2008-04-30 16:44:36.580173313 +0200 @@ -30,7 +30,6 @@ require_once( $t_core_path.'custom_field_api.php' ); require_once( $t_core_path.'date_api.php' ); require_once( $t_core_path.'last_visited_api.php' ); - require_once( $t_core_path.'projax_api.php' ); ?> <?php $f_bug_id = gpc_get_int( 'bug_id' ); @@ -248,20 +247,12 @@ <?php echo lang_get( 'platform' ) ?> </td> <td> - <?php - if ( config_get( 'allow_freetext_in_profile_fields' ) == OFF ) { - ?> <select name="platform"> <option value=""></option> <?php print_platform_option_list( $t_bug->platform ); ?> </select> - <?php - } else { - projax_autocomplete( 'platform_get_with_prefix', 'platform', array( 'value' => $t_bug->platform, 'size' => '16', 'maxlength' => '32', 'tabindex' => helper_get_tab_index_value() ) ); - } - ?> </td> </tr> @@ -300,20 +291,12 @@ <?php echo lang_get( 'os' ) ?> </td> <td> - <?php - if ( config_get( 'allow_freetext_in_profile_fields' ) == OFF ) { - ?> <select name="os"> <option value=""></option> <?php print_os_option_list( $t_bug->os ); ?> </select> - <?php - } else { - projax_autocomplete( 'os_get_with_prefix', 'os', array( 'value' => $t_bug->os, 'size' => '16', 'maxlength' => '32', 'tabindex' => helper_get_tab_index_value() ) ); - } - ?> </td> </tr> @@ -339,20 +322,12 @@ <?php echo lang_get( 'os_version' ) ?> </td> <td> - <?php - if ( config_get( 'allow_freetext_in_profile_fields' ) == OFF ) { - ?> <select name="os_build"> <option value=""></option> <?php print_os_build_option_list( $t_bug->os_build ); ?> </select> - <?php - } else { - projax_autocomplete( 'os_build_get_with_prefix', 'os_build', array( 'value' => $t_bug->os_build, 'size' => '16', 'maxlength' => '16', 'tabindex' => helper_get_tab_index_value() ) ); - } - ?> </td> </tr> Common subdirectories: www/core and /root/mantis.patched/core Common subdirectories: www/css and /root/mantis.patched/css Common subdirectories: www/graphs and /root/mantis.patched/graphs Common subdirectories: www/images and /root/mantis.patched/images Common subdirectories: www/javascript and /root/mantis.patched/javascript Common subdirectories: www/lang and /root/mantis.patched/lang | ||||
I agree with moving away from projax, but we should choose a replacement. giallu was looking at alternatives. |
|
jQuery seems to be a good replacement. |
|
Targeting for removal in 1.3.x as jQuery and Projax are conflicting with each other causing bugs like 0011523. |
|
Finally removed Projax and replaced it with jQuery. Tested and ready for 1.3.x :) |
|
Marking as 'acknowledged' not resolved/closed to track that change gets ported to master-2.0.x branch |
|
MantisBT: master b77ea9cd 2010-06-23 11:00 Details Diff |
Fix 0009117: Replace Projax with jQuery UI Autocomplete Projax is an old outdated library that is no longer maintained. This commit completely removes Projax from MantisBT and replaces it with a more modern jQuery UI Autocomplete equivalent. XMLHTTPRequest now returns JSON encoded data to jQuery so plugins and other pages can perform AJAX functions using standard methods for transferring data. |
Affected Issues 0009117 |
|
rm - javascript/min/projax/effects.js | Diff | ||
mod - bug_report_page.php | Diff File | ||
rm - javascript/min/projax/prototype.js | Diff | ||
rm - javascript/dev/projax/MIT-LICENSE | Diff | ||
rm - javascript/min/projax/MIT-LICENSE | Diff | ||
mod - bug_update_advanced_page.php | Diff File | ||
rm - javascript/dev/projax/scriptaculous.js | Diff | ||
rm - javascript/dev/projax/slider.js | Diff | ||
rm - library/projax/classes/Prototype.php | Diff | ||
rm - javascript/min/projax/builder.js | Diff | ||
rm - javascript/dev/projax/prototype_b.js | Diff | ||
rm - javascript/min/projax/prototype_b.js | Diff | ||
rm - javascript/dev/projax/license.html | Diff | ||
rm - javascript/min/projax/license.html | Diff | ||
rm - javascript/min/projax/slider.js | Diff | ||
rm - library/projax/classes/Scriptaculous.php | Diff | ||
mod - javascript/min/common.js | Diff File | ||
rm - javascript/min/projax/scriptaculous.js | Diff | ||
rm - core/projax_api.php | Diff | ||
mod - library/README.libs | Diff File | ||
rm - library/projax/readme_mantis.txt | Diff | ||
rm - library/projax/projax.php | Diff | ||
mod - javascript/dev/common.js | Diff File | ||
rm - javascript/dev/projax/effects.js | Diff | ||
rm - javascript/min/projax/dragdrop.js | Diff | ||
mod - core/xmlhttprequest_api.php | Diff File | ||
rm - javascript/dev/projax/builder.js | Diff | ||
rm - javascript/dev/projax/controls.js | Diff | ||
rm - javascript/dev/projax/prototype.js | Diff | ||
mod - core/html_api.php | Diff File | ||
rm - javascript/min/projax/controls.js | Diff | ||
rm - library/projax/index.html | Diff | ||
rm - library/projax/classes/JavaScript.php | Diff | ||
rm - javascript/dev/projax/dragdrop.js | Diff |