[ Index ]
 

Code source de Mantis 1.1.0rc3

Accédez au Source d'autres logiciels libres

Classes | Fonctions | Variables | Constantes | Tables

title

Body

[fermer]

/ -> bug_set_sponsorship.php (source)

   1  <?php
   2  # Mantis - a php based bugtracking system
   3  
   4  # Copyright (C) 2000 - 2002  Kenzaburo Ito - kenito@300baud.org
   5  # Copyright (C) 2002 - 2007  Mantis Team   - mantisbt-dev@lists.sourceforge.net
   6  
   7  # Mantis is free software: you can redistribute it and/or modify
   8  # it under the terms of the GNU General Public License as published by
   9  # the Free Software Foundation, either version 2 of the License, or
  10  # (at your option) any later version.
  11  #
  12  # Mantis is distributed in the hope that it will be useful,
  13  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  15  # GNU General Public License for more details.
  16  #
  17  # You should have received a copy of the GNU General Public License
  18  # along with Mantis.  If not, see <http://www.gnu.org/licenses/>.
  19  
  20      # --------------------------------------------------------
  21      # $Id: bug_set_sponsorship.php,v 1.5.14.1 2007-10-13 22:32:53 giallu Exp $
  22      # --------------------------------------------------------
  23  ?>
  24  <?php
  25      require_once ( 'core.php' );
  26  
  27      $t_core_path = config_get( 'core_path' );
  28  
  29      require_once( $t_core_path . 'sponsorship_api.php' );
  30  
  31      if ( config_get( 'enable_sponsorship' ) == OFF ) {
  32          trigger_error( ERROR_SPONSORSHIP_NOT_ENABLED, ERROR );
  33      }
  34  
  35      # anonymous users are not allowed to sponsor issues
  36      if ( current_user_is_anonymous() ) {
  37          access_denied();
  38      }
  39  
  40      $f_bug_id    = gpc_get_int( 'bug_id' );
  41      $f_amount    = gpc_get_int( 'amount' );
  42  
  43      $t_bug = bug_get( $f_bug_id, true );
  44      if( $t_bug->project_id != helper_get_current_project() ) {
  45          # in case the current project is not the same project of the bug we are viewing...
  46          # ... override the current project. This to avoid problems with categories and handlers lists etc.
  47          $g_project_override = $t_bug->project_id;
  48      }
  49  
  50      access_ensure_bug_level( config_get( 'sponsor_threshold' ), $f_bug_id );
  51  
  52      helper_ensure_confirmed( 
  53          sprintf( lang_get( 'confirm_sponsorship' ), $f_bug_id, sponsorship_format_amount( $f_amount ) ),
  54          lang_get( 'sponsor_issue' ) );
  55              
  56      if ( $f_amount == 0 ) {
  57          # if amount == 0, delete sponsorship by current user (if any)
  58          $t_sponsorship_id = sponsorship_get_id( $f_bug_id );
  59          if ( $t_sponsorship_id !== false ) {
  60              sponsorship_delete( $t_sponsorship_id );
  61          }
  62      } else {
  63          # add sponsorship
  64          $t_user = auth_get_current_user_id();
  65          if ( is_blank( user_get_email( $t_user ) ) ) {
  66              trigger_error( ERROR_SPONSORSHIP_SPONSOR_NO_EMAIL, ERROR );
  67          } else {
  68              $sponsorship = new SponsorshipData;
  69              $sponsorship->bug_id = $f_bug_id;
  70              $sponsorship->user_id = $t_user;
  71              $sponsorship->amount = $f_amount;
  72  
  73              sponsorship_set( $sponsorship );
  74          }
  75      }
  76  
  77      print_header_redirect_view( $f_bug_id );
  78  ?>


Généré le : Thu Nov 29 09:42:17 2007 par Balluche grâce à PHPXref 0.7
  Clicky Web Analytics