Newer
Older
Mantis_source-integration / Source / pages / edit.php
@John Reese John Reese on 25 Apr 2012 1 KB Update copyrights
<?php

# Copyright (c) 2012 John Reese
# Licensed under the MIT license

form_security_validate( 'plugin_Source_edit' );
access_ensure_global_level( plugin_config_get( 'update_threshold' ) );

$f_changeset_id = gpc_get_int( 'id' );
$f_offset = gpc_get_int( 'offset', 0 );

$f_user_id = gpc_get_int( 'user_id' );
$f_committer_id = gpc_get_int( 'committer_id' );
$f_branch = gpc_get_string( 'branch' );
$f_message = gpc_get_string( 'message' );

$t_changeset = SourceChangeset::load( $f_changeset_id );

$t_repos = SourceRepo::load_by_changesets( $t_changeset );
if ( count( $t_repos ) < 1 ) {
	trigger_error( ERROR_GENERIC, ERROR );
}

$t_repo = array_shift( $t_repos );
$t_repo->load_branches();

if ( $f_user_id == 0 || user_ensure_exists( $f_user_id ) ) {
	$t_changeset->user_id = $f_user_id;
}

if ( $f_committer_id == 0 || user_ensure_exists( $f_committer_id ) ) {
	$t_changeset->committer_id = $f_committer_id;
}

if ( in_array( $f_branch, $t_repo->branches ) ) {
	$t_changeset->branch = $f_branch;
}

if ( plugin_config_get( 'enable_porting' ) ) {
	$f_ported = gpc_get_string( 'ported', '' );

	if ( 0 == $f_ported || in_array( $f_ported, $t_repo->branches ) ) {
		$t_changeset->ported = $f_ported;
	}
}

if ( !is_blank( $f_message ) ) {
	$t_changeset->message = $f_message;
}

$t_changeset->save();

form_security_purge( 'plugin_Source_edit' );
print_successful_redirect( plugin_page( 'view', true ) . '&id=' . $t_changeset->id . '&offset=' . $f_offset );