diff --git a/core/html_api.php b/core/html_api.php index e60deae..0c75a39 100644 --- a/core/html_api.php +++ b/core/html_api.php @@ -1321,6 +1321,22 @@ function html_button_bug_unmonitor( $p_bug_id ) { } # -------------------- +# Print a button to stick the given bug +function html_button_bug_stick( $p_bug_id ) { + if ( access_has_bug_level( config_get( 'set_bug_sticky_threshold' ), $p_bug_id ) ) { + html_button( 'bug_stick.php', lang_get( 'stick_bug_button' ), array( 'bug_id' => $p_bug_id, 'action' => 'stick' ) ); + } +} + +# -------------------- +# Print a button to unstick the given bug +function html_button_bug_unstick( $p_bug_id ) { + if ( access_has_bug_level( config_get( 'set_bug_sticky_threshold' ), $p_bug_id ) ) { + html_button( 'bug_stick.php', lang_get( 'unstick_bug_button' ), array( 'bug_id' => $p_bug_id, 'action' => 'unstick' ) ); + } +} + +# -------------------- # Print a button to delete the given bug function html_button_bug_delete( $p_bug_id ) { if( access_has_bug_level( config_get( 'delete_bug_threshold' ), $p_bug_id ) ) { @@ -1344,6 +1360,7 @@ function html_buttons_view_bug_page( $p_bug_id ) { $t_resolved = config_get( 'bug_resolved_status_threshold' ); $t_status = bug_get_field( $p_bug_id, 'status' ); $t_readonly = bug_is_readonly( $p_bug_id ); + $t_sticky = config_get( 'set_bug_sticky_threshold' ); echo ''; if( !$t_readonly ) { @@ -1364,16 +1381,27 @@ function html_buttons_view_bug_page( $p_bug_id ) { } # MONITOR/UNMONITOR button - echo ''; } - echo ''; + # STICK/UNSTICK button + if ( access_has_bug_level( $t_sticky, $p_bug_id ) ) { + echo ''; + } + if( !$t_readonly ) { # CREATE CHILD button echo '
'; if( !current_user_is_anonymous() ) { + echo ''; if( user_is_monitoring_bug( auth_get_current_user_id(), $p_bug_id ) ) { html_button_bug_unmonitor( $p_bug_id ); } else { html_button_bug_monitor( $p_bug_id ); } + echo ''; + if ( !bug_get_field( $p_bug_id, 'sticky' ) ) { + html_button_bug_stick( $p_bug_id ); + } else { + html_button_bug_unstick( $p_bug_id ); + } + echo ''; diff --git a/lang/strings_english.txt b/lang/strings_english.txt index d5204ae..b9d609d 100644 --- a/lang/strings_english.txt +++ b/lang/strings_english.txt @@ -603,6 +603,10 @@ $s_reminder_store = 'This note will be stored with the issue.'; # bug_set_sponsorship.php $s_confirm_sponsorship = 'Please confirm you want to sponsor issue %1$d for %2$s.'; +# bug_stick.php +$s_stick_bug_button = 'Stick'; +$s_unstick_bug_button = 'Unstick'; + # bug_update.php $s_bug_updated_msg = 'Issue has been successfully updated...';