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... |
|