View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0010773 | mantisbt | time tracking | public | 2009-07-28 10:59 | 2009-12-23 06:23 |
Reporter | polzin | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | have not tried |
Status | acknowledged | Resolution | open | ||
Product Version | 1.2.0rc1 | ||||
Summary | 0010773: Time tracking stopwatch is not displayed on some pages | ||||
Description | The stopwatch is displayed in bugnode_add_inc.php, but not on bug_change_status_page Furthmore, the sometime "private_bugnote_threshold" is required, sometimes not. To remove code duplication I moved all into a time_tracking_inc.php. | ||||
Additional Information | I attach patches for 1.2 and 1.1 time_tracking_inc.php
javascript:
| ||||
Tags | patch | ||||
Attached Files | time_tracking_1_2.patch (10,595 bytes)
diff --git a/bug_change_status_page.php b/bug_change_status_page.php index 5fd7be2..7891ec9 100644 --- a/bug_change_status_page.php +++ b/bug_change_status_page.php @@ -323,20 +323,7 @@ if ( ( $f_new_status >= $t_resolved ) && ( $t_closed > $f_new_status ) ) { ?> </tr> <?php } ?> -<?php if ( config_get('time_tracking_enabled') ) { ?> -<?php if ( access_has_bug_level( config_get( 'private_bugnote_threshold' ), $f_bug_id ) ) { ?> -<?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> -<tr <?php echo helper_alternate_class() ?>> - <td class="category"> - <?php echo lang_get( 'time_tracking' ) ?> (HH:MM) - </td> - <td> - <input type="text" name="time_tracking" size="5" value="0:00" /> - </td> -</tr> -<?php } ?> -<?php } ?> -<?php } ?> +<?php include( 'time_tracking_inc.php' ); ?> <!-- Submit Button --> <tr> diff --git a/bug_update_advanced_page.php b/bug_update_advanced_page.php index c8de400..cd75b1f 100644 --- a/bug_update_advanced_page.php +++ b/bug_update_advanced_page.php @@ -629,13 +629,8 @@ if ( access_has_bug_level( config_get( 'private_bugnote_threshold' ), $tpl_bug_i } # Time Tracking (if permitted) -if ( config_get('time_tracking_enabled') ) { - if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $tpl_bug_id ) ) { - echo '<tr ', helper_alternate_class(), '>'; - echo '<td class="category">', lang_get( 'time_tracking' ), ' (HH:MM)</td>'; - echo '<td colspan="5"><input type="text" name="time_tracking" size="5" value="0:00" /></td></tr>'; - } -} +$t_time_tracking_cols = 5; +include( 'time_tracking_inc.php' ); # Submit Button echo '<tr><td class="center" colspan="6">'; diff --git a/bugnote_add_inc.php b/bugnote_add_inc.php index 113af87..9f317b5 100644 --- a/bugnote_add_inc.php +++ b/bugnote_add_inc.php @@ -70,26 +70,7 @@ </tr> <?php } ?> -<?php if ( config_get('time_tracking_enabled') ) { ?> -<?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> -<tr <?php echo helper_alternate_class() ?>> - <td class="category"> - <?php echo lang_get( 'time_tracking' ) ?> (HH:MM) - </td> - <td> - <?php if ( config_get('time_tracking_stopwatch') && ON == config_get( 'use_javascript' )) { - html_javascript_link( 'time_tracking_stopwatch.js' ); - ?> - <input type="text" name="time_tracking" size="5" value="00:00" /> - <input type="button" name="time_tracking_ssbutton" value="Start" onclick="time_tracking_swstartstop()" /> - <input type="button" name="time_tracking_reset" value="R" onclick="time_tracking_swreset()" /> - <?php } else { ?> - <input type="text" name="time_tracking" size="5" value="00:00" /> - <?php } ?> - </td> -</tr> -<?php } ?> -<?php } ?> +<?php include( 'time_tracking_inc.php' ); ?> <?php event_signal( 'EVENT_BUGNOTE_ADD_FORM', array( $f_bug_id ) ); ?> <tr> diff --git a/javascript/dev/time_tracking_stopwatch.js b/javascript/dev/time_tracking_stopwatch.js index cc096ae..1e07836 100644 --- a/javascript/dev/time_tracking_stopwatch.js +++ b/javascript/dev/time_tracking_stopwatch.js @@ -2,27 +2,29 @@ var time_tracking_ms = 0; var time_tracking_running = 0; function time_tracking_swstartstop() { + time_tracking_ssbutton_element = document.getElementById( 'time_tracking_ssbutton' ); if (time_tracking_running == 0) { time_tracking_running = 1; time_tracking_then = new Date(); time_tracking_then.setTime(time_tracking_then.getTime() - time_tracking_ms); - document.bugnoteadd.time_tracking_ssbutton.value = "Stop"; + time_tracking_ssbutton_element.value = "Stop"; } else { time_tracking_running = 0; time_tracking_now = new Date(); time_tracking_ms = time_tracking_now.getTime() - time_tracking_then.getTime(); - document.bugnoteadd.time_tracking_ssbutton.value = "Start"; + time_tracking_ssbutton_element.value = "Start"; } } function time_tracking_swreset() { time_tracking_running = 0; time_tracking_ms = 0; - document.bugnoteadd.time_tracking.value = "0:00:00"; - document.bugnoteadd.time_tracking_ssbutton.value = "Start"; + time_tracking_value_element.value = "0:00:00"; + time_tracking_ssbutton_element.value = "Start"; } function time_tracking_display() { setTimeout("time_tracking_display();", 1000); + time_tracking_value_element = document.getElementById( 'time_tracking_value' ); if (time_tracking_running == 1) { time_tracking_now = new Date(); time_tracking_ms = time_tracking_now.getTime() - time_tracking_then.getTime(); @@ -36,7 +38,7 @@ function time_tracking_display() { if (time_tracking_mins < 10) time_tracking_mins = "0" + time_tracking_mins; - document.bugnoteadd.time_tracking.value = time_tracking_hours + ":" + time_tracking_mins + ":" + time_tracking_secs; + time_tracking_value_element.value = time_tracking_hours + ":" + time_tracking_mins + ":" + time_tracking_secs; } } diff --git a/javascript/min/time_tracking_stopwatch.js b/javascript/min/time_tracking_stopwatch.js index 34a79af..1e07836 100644 --- a/javascript/min/time_tracking_stopwatch.js +++ b/javascript/min/time_tracking_stopwatch.js @@ -1 +1,45 @@ -var time_tracking_ms=0;var time_tracking_running=0;function time_tracking_swstartstop(){if(time_tracking_running==0){time_tracking_running=1;time_tracking_then=new Date();time_tracking_then.setTime(time_tracking_then.getTime()-time_tracking_ms);document.bugnoteadd.time_tracking_ssbutton.value="Stop"}else{time_tracking_running=0;time_tracking_now=new Date();time_tracking_ms=time_tracking_now.getTime()-time_tracking_then.getTime();document.bugnoteadd.time_tracking_ssbutton.value="Start"}}function time_tracking_swreset(){time_tracking_running=0;time_tracking_ms=0;document.bugnoteadd.time_tracking.value="0:00:00";document.bugnoteadd.time_tracking_ssbutton.value="Start"}function time_tracking_display(){setTimeout("time_tracking_display();",1000);if(time_tracking_running==1){time_tracking_now=new Date();time_tracking_ms=time_tracking_now.getTime()-time_tracking_then.getTime();time_tracking_seconds=Math.round(time_tracking_ms/1000);time_tracking_hours=Math.floor(time_tracking_seconds/3600);time_tracking_left=time_tracking_seconds-(time_tracking_hours*3600);time_tracking_mins=Math.floor(time_tracking_left/60);time_tracking_secs=time_tracking_left-(time_tracking_mins*60);if(time_tracking_secs<10){time_tracking_secs="0"+time_tracking_secs}if(time_tracking_mins<10){time_tracking_mins="0"+time_tracking_mins}document.bugnoteadd.time_tracking.value=time_tracking_hours+":"+time_tracking_mins+":"+time_tracking_secs}}setTimeout("time_tracking_display();",1000); \ No newline at end of file +var time_tracking_ms = 0; +var time_tracking_running = 0; + +function time_tracking_swstartstop() { + time_tracking_ssbutton_element = document.getElementById( 'time_tracking_ssbutton' ); + if (time_tracking_running == 0) { + time_tracking_running = 1; + time_tracking_then = new Date(); + time_tracking_then.setTime(time_tracking_then.getTime() - time_tracking_ms); + time_tracking_ssbutton_element.value = "Stop"; + } else { + time_tracking_running = 0; + time_tracking_now = new Date(); + time_tracking_ms = time_tracking_now.getTime() - time_tracking_then.getTime(); + time_tracking_ssbutton_element.value = "Start"; + } +} +function time_tracking_swreset() { + time_tracking_running = 0; + time_tracking_ms = 0; + time_tracking_value_element.value = "0:00:00"; + time_tracking_ssbutton_element.value = "Start"; +} + +function time_tracking_display() { + setTimeout("time_tracking_display();", 1000); + time_tracking_value_element = document.getElementById( 'time_tracking_value' ); + if (time_tracking_running == 1) { + time_tracking_now = new Date(); + time_tracking_ms = time_tracking_now.getTime() - time_tracking_then.getTime(); + time_tracking_seconds = Math.round(time_tracking_ms / 1000) ; + time_tracking_hours = Math.floor(time_tracking_seconds / 3600); + time_tracking_left = time_tracking_seconds - (time_tracking_hours * 3600); + time_tracking_mins = Math.floor(time_tracking_left / 60); + time_tracking_secs = time_tracking_left - (time_tracking_mins * 60); + if (time_tracking_secs < 10) + time_tracking_secs = "0" + time_tracking_secs; + if (time_tracking_mins < 10) + time_tracking_mins = "0" + time_tracking_mins; + + time_tracking_value_element.value = time_tracking_hours + ":" + time_tracking_mins + ":" + time_tracking_secs; + } +} + +setTimeout("time_tracking_display();", 1000); diff --git a/time_tracking_inc.php b/time_tracking_inc.php new file mode 100644 index 0000000..9c38adf --- /dev/null +++ b/time_tracking_inc.php @@ -0,0 +1,45 @@ +<?php +# MantisBT - a php based bugtracking system + +# MantisBT is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# MantisBT is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with MantisBT. If not, see <http://www.gnu.org/licenses/>. + + /** + * @package MantisBT + * @copyright Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org + * @copyright Copyright (C) 2002 - 2009 MantisBT Team - mantisbt-dev@lists.sourceforge.net + * @link http://www.mantisbt.org + */ + +?> + +<?php if ( config_get('time_tracking_enabled') ) { ?> +<?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> +<tr <?php echo helper_alternate_class() ?>> + <td class="category"> + <?php echo lang_get( 'time_tracking' ) ?> (HH:MM) + </td> + <?php echo '<td colspan="' . (isset( $t_time_tracking_cols ) ? $t_time_tracking_cols : 1) . '">'; ?> + <?php if ( config_get('time_tracking_stopwatch') && ON == config_get( 'use_javascript' )) { + html_javascript_link( 'time_tracking_stopwatch.js' ); + ?> + <input type="text" name="time_tracking" size="5" id="time_tracking_value" value="00:00" /> + <input type="button" name="time_tracking_ssbutton" value="Start" id="time_tracking_ssbutton" onclick="time_tracking_swstartstop()" /> + <input type="button" name="time_tracking_reset" value="R" onclick="time_tracking_swreset()" /> + <?php } else { ?> + <input type="text" name="time_tracking" size="5" value="00:00" /> + <?php } ?> + </td> +</tr> +<?php } ?> +<?php } time_tracking_1_1.patch (6,821 bytes)
Index: bug_change_status_page.php =================================================================== RCS file: /cvs/mantis/bug_change_status_page.php,v retrieving revision 1.10 diff -r1.10 bug_change_status_page.php 338,351c338 < <?php if ( config_get('time_tracking_enabled') ) { ?> < <?php if ( access_has_bug_level( config_get( 'private_bugnote_threshold' ), $f_bug_id ) ) { ?> < <?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> < <tr <?php echo helper_alternate_class() ?>> < <td class="category"> < <?php echo lang_get( 'time_tracking' ) ?> < </td> < <td> < <input type="text" name="time_tracking" size="5" value="0:00" /> < </td> < </tr> < <?php } ?> < <?php } ?> < <?php } ?> --- > <?php include( 'time_tracking_inc.php' ); ?> Index: bug_update_advanced_page.php =================================================================== RCS file: /cvs/mantis/bug_update_advanced_page.php,v retrieving revision 1.10 diff -r1.10 bug_update_advanced_page.php 602,613c602 < <?php if ( config_get('time_tracking_enabled') ) { ?> < <?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> < <tr <?php echo helper_alternate_class() ?>> < <td class="category"> < <?php echo lang_get( 'time_tracking' ) ?> < </td> < <td colspan="5"> < <input type="text" name="time_tracking" size="5" value="0:00" /> < </td> < </tr> < <?php } ?> < <?php } ?> --- > <?php $t_time_tracking_cols = 5; include( 'time_tracking_inc.php' ); ?> Index: bug_update_page.php =================================================================== RCS file: /cvs/mantis/bug_update_page.php,v retrieving revision 1.11 diff -r1.11 bug_update_page.php 437,448d436 < <?php if ( config_get('time_tracking_enabled') ) { ?> < <?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> < <tr <?php echo helper_alternate_class() ?>> < <td class="category"> < <?php echo lang_get( 'time_tracking' ) ?> < </td> < <td colspan="5"> < <input type="text" name="time_tracking" size="5" value="0:00" /> < </td> < </tr> < <?php } ?> < <?php } ?> 449a438 > <?php $t_time_tracking_cols = 5; include( 'time_tracking_inc.php' ); ?> Index: bugnote_add_inc.php =================================================================== RCS file: /cvs/mantis/bugnote_add_inc.php,v retrieving revision 1.6 diff -r1.6 bugnote_add_inc.php 70,89c70,71 < < <?php if ( config_get('time_tracking_enabled') ) { ?> < <?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> < <tr <?php echo helper_alternate_class() ?>> < <td class="category"> < <?php echo lang_get( 'time_tracking' ) ?> < </td> < <td> < <?php if ( config_get('time_tracking_stopwatch') && ON == config_get( 'use_javascript' )) { ?> < <script type="text/javascript" language="JavaScript" src="javascript/time_tracking_stopwatch.js"></script> < <input type="text" name="time_tracking" size="5" value="00:00" /> < <input type="button" name="time_tracking_ssbutton" value="Start" onclick="time_tracking_swstartstop()" /> < <input type="button" name="time_tracking_reset" value="R" onclick="time_tracking_swreset()" /> < <?php } else { ?> < <input type="text" name="time_tracking" size="5" value="00:00" /> < <?php } ?> < </td> < </tr> < <?php } ?> < <?php } ?> --- > > <?php include( 'time_tracking_inc.php' ); ?> Index: time_tracking_inc.php =================================================================== RCS file: time_tracking_inc.php diff -N time_tracking_inc.php 0a1,44 > <?php > # MantisBT - a php based bugtracking system > > # MantisBT is free software: you can redistribute it and/or modify > # it under the terms of the GNU General Public License as published by > # the Free Software Foundation, either version 2 of the License, or > # (at your option) any later version. > # > # MantisBT is distributed in the hope that it will be useful, > # but WITHOUT ANY WARRANTY; without even the implied warranty of > # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the > # GNU General Public License for more details. > # > # You should have received a copy of the GNU General Public License > # along with MantisBT. If not, see <http://www.gnu.org/licenses/>. > > /** > * @package MantisBT > * @copyright Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org > * @copyright Copyright (C) 2002 - 2009 MantisBT Team - mantisbt-dev@lists.sourceforge.net > * @link http://www.mantisbt.org > */ > > ?> > > <?php if ( config_get('time_tracking_enabled') ) { ?> > <?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> > <tr <?php echo helper_alternate_class() ?>> > <td class="category"> > <?php echo lang_get( 'time_tracking' ) ?> (HH:MM) > </td> > <?php echo '<td colspan="' . (isset( $t_time_tracking_cols ) ? $t_time_tracking_cols : 1) . '">'; ?> > <?php if ( config_get('time_tracking_stopwatch') && ON == config_get( 'use_javascript' )) { ?> > <script type="text/javascript" language="JavaScript" src="javascript/time_tracking_stopwatch.js"></script> > <input type="text" name="time_tracking" size="5" id="time_tracking_value" value="00:00" /> > <input type="button" name="time_tracking_ssbutton" id="time_tracking_ssbutton" value="Start" onclick="time_tracking_swstartstop()" /> > <input type="button" name="time_tracking_reset" value="R" onclick="time_tracking_swreset()" /> > <?php } else { ?> > <input type="text" name="time_tracking" size="5" value="00:00" /> > <?php } ?> > </td> > </tr> > <?php } ?> > <?php } Index: javascript/time_tracking_stopwatch.js =================================================================== RCS file: /cvs/mantis/javascript/time_tracking_stopwatch.js,v retrieving revision 1.1.1.1 diff -r1.1.1.1 time_tracking_stopwatch.js 6a7 > time_tracking_ssbutton_element = document.getElementById( 'time_tracking_ssbutton' ); 11c12 < document.bugnoteadd.time_tracking_ssbutton.value = "Stop"; --- > time_tracking_ssbutton_element.value = "Stop"; 16c17 < document.bugnoteadd.time_tracking_ssbutton.value = "Start"; --- > time_tracking_ssbutton_element.value = "Start"; 22,23c23,24 < document.bugnoteadd.time_tracking.value = "0:00:00"; < document.bugnoteadd.time_tracking_ssbutton.value = "Start"; --- > time_tracking_value_element.value = "0:00:00"; > time_tracking_ssbutton_element.value = "Start"; 27a29 > time_tracking_value_element = document.getElementById( 'time_tracking_value' ); 41c43 < document.bugnoteadd.time_tracking.value = time_tracking_hours + ":" + time_tracking_mins + ":" + time_tracking_secs; --- > time_tracking_value_element.value = time_tracking_hours + ":" + time_tracking_mins + ":" + time_tracking_secs; time_tracking_1_1_uniform.patch (8,559 bytes)
Index: bug_change_status_page.php =================================================================== RCS file: /cvs/mantis/bug_change_status_page.php,v retrieving revision 1.10 diff -u -r1.10 bug_change_status_page.php --- bug_change_status_page.php 21 Jul 2009 11:35:33 -0000 1.10 +++ bug_change_status_page.php 28 Jul 2009 15:13:53 -0000 @@ -335,20 +335,7 @@ </tr> <?php } ?> -<?php if ( config_get('time_tracking_enabled') ) { ?> -<?php if ( access_has_bug_level( config_get( 'private_bugnote_threshold' ), $f_bug_id ) ) { ?> -<?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> -<tr <?php echo helper_alternate_class() ?>> - <td class="category"> - <?php echo lang_get( 'time_tracking' ) ?> - </td> - <td> - <input type="text" name="time_tracking" size="5" value="0:00" /> - </td> -</tr> -<?php } ?> -<?php } ?> -<?php } ?> +<?php include( 'time_tracking_inc.php' ); ?> <!-- Submit Button --> <tr> Index: bug_update_advanced_page.php =================================================================== RCS file: /cvs/mantis/bug_update_advanced_page.php,v retrieving revision 1.10 diff -u -r1.10 bug_update_advanced_page.php --- bug_update_advanced_page.php 17 Dec 2008 19:56:59 -0000 1.10 +++ bug_update_advanced_page.php 28 Jul 2009 15:13:53 -0000 @@ -599,18 +599,7 @@ <?php } ?> <!-- Time Tracking (if permitted) --> -<?php if ( config_get('time_tracking_enabled') ) { ?> -<?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> -<tr <?php echo helper_alternate_class() ?>> - <td class="category"> - <?php echo lang_get( 'time_tracking' ) ?> - </td> - <td colspan="5"> - <input type="text" name="time_tracking" size="5" value="0:00" /> - </td> -</tr> -<?php } ?> -<?php } ?> +<?php $t_time_tracking_cols = 5; include( 'time_tracking_inc.php' ); ?> <!-- Submit Button --> <tr> Index: bug_update_page.php =================================================================== RCS file: /cvs/mantis/bug_update_page.php,v retrieving revision 1.11 diff -u -r1.11 bug_update_page.php --- bug_update_page.php 17 Dec 2008 19:56:59 -0000 1.11 +++ bug_update_page.php 28 Jul 2009 15:13:53 -0000 @@ -434,19 +434,8 @@ <?php } ?> <!-- Time Tracking (if permitted) --> -<?php if ( config_get('time_tracking_enabled') ) { ?> -<?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> -<tr <?php echo helper_alternate_class() ?>> - <td class="category"> - <?php echo lang_get( 'time_tracking' ) ?> - </td> - <td colspan="5"> - <input type="text" name="time_tracking" size="5" value="0:00" /> - </td> -</tr> -<?php } ?> -<?php } ?> +<?php $t_time_tracking_cols = 5; include( 'time_tracking_inc.php' ); ?> <!-- Submit Button --> <tr> Index: bugnote_add_inc.php =================================================================== RCS file: /cvs/mantis/bugnote_add_inc.php,v retrieving revision 1.6 diff -u -r1.6 bugnote_add_inc.php --- bugnote_add_inc.php 16 Jun 2008 21:47:57 -0000 1.6 +++ bugnote_add_inc.php 28 Jul 2009 15:13:53 -0000 @@ -67,26 +67,8 @@ </td> </tr> <?php } ?> - -<?php if ( config_get('time_tracking_enabled') ) { ?> -<?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> -<tr <?php echo helper_alternate_class() ?>> - <td class="category"> - <?php echo lang_get( 'time_tracking' ) ?> - </td> - <td> - <?php if ( config_get('time_tracking_stopwatch') && ON == config_get( 'use_javascript' )) { ?> - <script type="text/javascript" language="JavaScript" src="javascript/time_tracking_stopwatch.js"></script> - <input type="text" name="time_tracking" size="5" value="00:00" /> - <input type="button" name="time_tracking_ssbutton" value="Start" onclick="time_tracking_swstartstop()" /> - <input type="button" name="time_tracking_reset" value="R" onclick="time_tracking_swreset()" /> - <?php } else { ?> - <input type="text" name="time_tracking" size="5" value="00:00" /> - <?php } ?> - </td> -</tr> -<?php } ?> -<?php } ?> + +<?php include( 'time_tracking_inc.php' ); ?> <tr> <td class="center" colspan="2"> Index: time_tracking_inc.php =================================================================== RCS file: time_tracking_inc.php diff -N time_tracking_inc.php --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ time_tracking_inc.php 28 Jul 2009 15:13:53 -0000 @@ -0,0 +1,44 @@ +<?php +# MantisBT - a php based bugtracking system + +# MantisBT is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 2 of the License, or +# (at your option) any later version. +# +# MantisBT is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with MantisBT. If not, see <http://www.gnu.org/licenses/>. + + /** + * @package MantisBT + * @copyright Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org + * @copyright Copyright (C) 2002 - 2009 MantisBT Team - mantisbt-dev@lists.sourceforge.net + * @link http://www.mantisbt.org + */ + +?> + +<?php if ( config_get('time_tracking_enabled') ) { ?> +<?php if ( access_has_bug_level( config_get( 'time_tracking_edit_threshold' ), $f_bug_id ) ) { ?> +<tr <?php echo helper_alternate_class() ?>> + <td class="category"> + <?php echo lang_get( 'time_tracking' ) ?> (HH:MM) + </td> + <?php echo '<td colspan="' . (isset( $t_time_tracking_cols ) ? $t_time_tracking_cols : 1) . '">'; ?> + <?php if ( config_get('time_tracking_stopwatch') && ON == config_get( 'use_javascript' )) { ?> + <script type="text/javascript" language="JavaScript" src="javascript/time_tracking_stopwatch.js"></script> + <input type="text" name="time_tracking" size="5" id="time_tracking_value" value="00:00" /> + <input type="button" name="time_tracking_ssbutton" id="time_tracking_ssbutton" value="Start" onclick="time_tracking_swstartstop()" /> + <input type="button" name="time_tracking_reset" value="R" onclick="time_tracking_swreset()" /> + <?php } else { ?> + <input type="text" name="time_tracking" size="5" value="00:00" /> + <?php } ?> + </td> +</tr> +<?php } ?> +<?php } Index: javascript/time_tracking_stopwatch.js =================================================================== RCS file: /cvs/mantis/javascript/time_tracking_stopwatch.js,v retrieving revision 1.1.1.1 diff -u -r1.1.1.1 time_tracking_stopwatch.js --- javascript/time_tracking_stopwatch.js 12 Dec 2006 18:26:29 -0000 1.1.1.1 +++ javascript/time_tracking_stopwatch.js 28 Jul 2009 15:13:53 -0000 @@ -4,27 +4,29 @@ var time_tracking_running = 0; function time_tracking_swstartstop() { + time_tracking_ssbutton_element = document.getElementById( 'time_tracking_ssbutton' ); if (time_tracking_running == 0) { time_tracking_running = 1; time_tracking_then = new Date(); time_tracking_then.setTime(time_tracking_then.getTime() - time_tracking_ms); - document.bugnoteadd.time_tracking_ssbutton.value = "Stop"; + time_tracking_ssbutton_element.value = "Stop"; } else { time_tracking_running = 0; time_tracking_now = new Date(); time_tracking_ms = time_tracking_now.getTime() - time_tracking_then.getTime(); - document.bugnoteadd.time_tracking_ssbutton.value = "Start"; + time_tracking_ssbutton_element.value = "Start"; } } function time_tracking_swreset() { time_tracking_running = 0; time_tracking_ms = 0; - document.bugnoteadd.time_tracking.value = "0:00:00"; - document.bugnoteadd.time_tracking_ssbutton.value = "Start"; + time_tracking_value_element.value = "0:00:00"; + time_tracking_ssbutton_element.value = "Start"; } function time_tracking_display() { setTimeout("time_tracking_display();", 1000); + time_tracking_value_element = document.getElementById( 'time_tracking_value' ); if (time_tracking_running == 1) { time_tracking_now = new Date(); time_tracking_ms = time_tracking_now.getTime() - time_tracking_then.getTime(); @@ -38,7 +40,7 @@ if (time_tracking_mins < 10) time_tracking_mins = "0" + time_tracking_mins; - document.bugnoteadd.time_tracking.value = time_tracking_hours + ":" + time_tracking_mins + ":" + time_tracking_secs; + time_tracking_value_element.value = time_tracking_hours + ":" + time_tracking_mins + ":" + time_tracking_secs; } } | ||||
Is it possible to include the patch, as it
|
|
I'm interested in this patch (hadn't seen it until now). Thanks for your work on this issue! My only comment so far is that time_tracking_inc.php should not return anything if called directly... it should only be callable by certain scripts. See bug_view_inc.php (and the other bug view pages) for an example of how to fix this issue. If this applies cleanly on top of 1.2.0RC2 I'll apply it :) |
|
Do you really thing, that a protection agains direct calling is necessary? bugnote_add_inc or bugnote_view_inc don't do such a thing.
Sigh! I found a lot good features and suggestions lying around in mantis without being commented or included. Well, this seems to be a structural problem... |
|
@dhx I think the patch is ready for commiting, as a special protection is not necessary, as in bugnote_add_inc... |
|