. /** * @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 gpc_api.php * @uses lang_api.php */ if ( !defined( 'BUG_ACTIONGROUP_UPDATE_PRODUCT_BUILD_INC_ALLOW' ) ) { return; } require_api( 'access_api.php' ); require_api( 'bug_api.php' ); require_api( 'config_api.php' ); require_api( 'gpc_api.php' ); require_api( 'lang_api.php' ); /** * Prints the title for the custom action page. */ function action_update_product_build_print_title() { echo ''; echo ''; echo lang_get( 'product_build' ); 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_update_product_build_print_fields() { echo '', lang_get( 'product_build' ), ''; echo ''; } /** * Validates the action on the specified bug id. * * @param $p_bug_id Bug ID * @return string|null On failure: the reason why the action could not be validated. On success: null. */ function action_update_product_build_validate( $p_bug_id ) { $t_bug_id = (int)$p_bug_id; if ( bug_is_readonly( $t_bug_id ) ) { return lang_get( 'actiongroup_error_issue_is_readonly' ); } if ( !access_has_bug_level( config_get( 'update_bug_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_update_product_build_process( $p_bug_id ) { $f_build = gpc_get_string( 'build' ); $t_build = trim( $f_build ); bug_set_field( $p_bug_id, 'build', $t_build ); return null; }