. /** * @package MantisBT * @copyright Copyright (C) 2000 - 2002 Kenzaburo Ito - kenito@300baud.org * @copyright Copyright (C) 2002 - 2011 MantisBT Team - mantisbt-dev@lists.sourceforge.net * @link http://www.mantisbt.org * * @uses access_api.php * @uses bug_api.php * @uses config_api.php * @uses constant_inc.php * @uses error_api.php * @uses gpc_api.php * @uses helper_api.php * @uses lang_api.php * @uses print_api.php * @uses utility_api.php */ if ( !defined( 'BUG_ACTIONGROUP_ADD_NOTE_INC_ALLOW' ) ) { return; } require_api( 'access_api.php' ); require_api( 'bug_api.php' ); require_api( 'config_api.php' ); require_api( 'constant_inc.php' ); require_api( 'error_api.php' ); require_api( 'gpc_api.php' ); require_api( 'helper_api.php' ); require_api( 'lang_api.php' ); require_api( 'print_api.php' ); require_api( 'utility_api.php' ); /** * Prints the title for the custom action page. */ function action_add_note_print_title() { echo ''; echo ''; echo lang_get( 'add_bugnote_title' ); echo ''; } /** * Prints the field within the custom action form. This has an entry for * every field the user need to supply + the submit button. The fields are * added as rows in a table that is already created by the calling code. * A row has two columns. */ function action_add_note_print_fields() { echo '', lang_get( 'add_bugnote_title' ), ''; ?> '; } ?> '; } /** * Validates the action on the specified bug id. * * @return string|null On failure: the reason why the action could not be validated. On success: null. */ function action_add_note_validate( $p_bug_id ) { $f_bugnote_text = gpc_get_string( 'bugnote_text' ); if ( is_blank( $f_bugnote_text ) ) { error_parameters( lang_get( 'bugnote' ) ); trigger_error( ERROR_EMPTY_FIELD, ERROR ); } $t_add_bugnote_threshold = config_get( 'add_bugnote_threshold' ); $t_bug_id = $p_bug_id; if ( bug_is_readonly( $t_bug_id ) ) { return lang_get( 'actiongroup_error_issue_is_readonly' ); } if ( !access_has_bug_level( $t_add_bugnote_threshold, $t_bug_id ) ) { return lang_get( 'access_denied' ); } return null; } /** * Executes the custom action on the specified bug id. * * @param $p_bug_id The bug id to execute the custom action on. * @return null Previous validation ensures that this function doesn't fail. Therefore we can always return null to indicate no errors occurred. */ function action_add_note_process( $p_bug_id ) { $f_bugnote_text = gpc_get_string( 'bugnote_text' ); $f_view_state = gpc_get_int( 'view_state' ); bugnote_add ( $p_bug_id, $f_bugnote_text, '0:00', /* $p_private = */ $f_view_state != VS_PUBLIC ); return null; }