. /** * This page updates a user's sponsorships * If an account is protected then changes are forbidden * The page gets redirected back to account_page.php * * @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 core.php * @uses access_api.php * @uses authentication_api.php * @uses bug_api.php * @uses config_api.php * @uses form_api.php * @uses gpc_api.php * @uses html_api.php * @uses lang_api.php * @uses print_api.php * @uses sponsorship_api.php */ /** * MantisBT Core API's */ require_once( 'core.php' ); require_api( 'access_api.php' ); require_api( 'authentication_api.php' ); require_api( 'bug_api.php' ); require_api( 'config_api.php' ); require_api( 'form_api.php' ); require_api( 'gpc_api.php' ); require_api( 'html_api.php' ); require_api( 'lang_api.php' ); require_api( 'print_api.php' ); require_api( 'sponsorship_api.php' ); if ( !config_get( 'enable_sponsorship' ) ) { trigger_error( ERROR_SPONSORSHIP_NOT_ENABLED, ERROR ); } form_security_validate( 'account_sponsor_update' ); auth_ensure_user_authenticated(); $f_bug_list = gpc_get_string( 'buglist', '' ); $t_bug_list = explode( ',', $f_bug_list ); foreach ( $t_bug_list as $t_bug ) { list( $t_bug_id, $t_sponsor_id ) = explode( ':', $t_bug ); $c_bug_id = (int) $t_bug_id; bug_ensure_exists( $c_bug_id ); # dies if bug doesn't exist access_ensure_bug_level( config_get( 'handle_sponsored_bugs_threshold' ), $c_bug_id ); # dies if user can't handle bug $t_bug = bug_get( $c_bug_id ); $t_sponsor = sponsorship_get( (int) $t_sponsor_id ); $t_new_payment = gpc_get_int( 'sponsor_' . $c_bug_id . '_' . $t_sponsor->id, $t_sponsor->paid ); if ( $t_new_payment != $t_sponsor->paid ) { sponsorship_update_paid( $t_sponsor_id, $t_new_payment ); } } form_security_purge( 'account_sponsor_update' ); $t_redirect = 'account_sponsor_page.php'; html_page_top( null, $t_redirect ); echo '
'; echo lang_get( 'payment_updated' ) . '
'; echo lang_get( 'operation_successful' ) . '
'; print_bracket_link( $t_redirect, lang_get( 'proceed' ) ); echo '
'; html_page_bottom();