Example #1
0
 function render_ready_function()
 {
     $html = '<script type="text/javascript">' . "\n" . '//<![CDATA[' . "\n" . '$(document).ready(function() {' . "\n";
     $parts = event_signal('EVENT_LAYOUT_RESOURCES_JQUERY_ONLOAD');
     foreach ($parts as $part) {
         $html .= $part['onload'];
     }
     $html .= '});' . "\n" . '//]]>' . "\n" . '</script>' . "\n";
     return $html;
 }
Example #2
0
/**
 * Log an event
 * @param int $p_level
 * @param string $p_msg
 * @return null
 */
function log_event($p_level, $p_msg)
{
    global $g_log_levels;
    # check to see if logging is enabled
    $t_sys_log = config_get_global('log_level');
    if (0 == ($t_sys_log & $p_level)) {
        return;
    }
    $t_now = date(config_get_global('complete_date_format'));
    $t_level = $g_log_levels[$p_level];
    $t_plugin_event = '[' . $t_level . '] ' . $p_msg;
    if (function_exists('event_signal')) {
        event_signal('EVENT_LOG', array($t_plugin_event));
    }
    $t_php_event = $t_now . ' ' . $t_level . ' ' . $p_msg;
    $t_log_destination = config_get_global('log_destination');
    if (is_blank($t_log_destination)) {
        $t_destination = '';
    } else {
        # Use @ to avoid error when there is no delimiter in log destination
        @(list($t_destination, $t_modifiers) = explode(':', $t_log_destination, 2));
    }
    switch ($t_destination) {
        case 'file':
            error_log($t_php_event . PHP_EOL, 3, $t_modifiers);
            break;
        case 'firebug':
            if (!class_exists('FirePHP')) {
                if (file_exists(BASE_PATH . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . 'FirePHPCore' . DIRECTORY_SEPARATOR . 'FirePHP.class.php')) {
                    require_once BASE_PATH . DIRECTORY_SEPARATOR . 'library' . DIRECTORY_SEPARATOR . 'FirePHPCore' . DIRECTORY_SEPARATOR . 'FirePHP.class.php';
                }
            }
            if (class_exists('FirePHP')) {
                static $firephp;
                if ($firephp === null) {
                    $firephp = FirePHP::getInstance(true);
                }
                $firephp->log($t_php_event);
                return;
            }
            // if firebug is not available, fall through
        // if firebug is not available, fall through
        default:
            # use default PHP error log settings
            error_log($t_php_event . PHP_EOL);
            break;
    }
    # If running from command line, echo log event to stdout
    if (php_sapi_name() == 'cli') {
        echo $t_php_event . PHP_EOL;
    }
}
Example #3
0
 /**
  * Gets the avatar information for the user.  The avatars are provided by
  * plugins that can integrate with a variety of services like gravatar.com,
  * LDAP, Social Identities, etc.
  *
  * If logged in user doesn't have access to view avatars or not avatar is found,
  * then a default avatar will be used.
  *
  * Note that the provided user id may no longer has a corresponding user in the
  * system, if the user was deleted.
  *
  * @param integer $p_user_id  The user id.
  * @param integer $p_size     The desired width/height of the avatar.
  *
  * @return array The array with avatar information.
  */
 public static function get($p_user_id, $p_size = 80)
 {
     $t_enabled = config_get('show_avatar') !== OFF;
     $t_avatar = null;
     if ($t_enabled) {
         $t_user_exists = user_exists($p_user_id);
         if ($t_user_exists && access_has_project_level(config_get('show_avatar_threshold'), null, $p_user_id)) {
             $t_avatar = event_signal('EVENT_USER_AVATAR', array($p_user_id, $p_size));
         }
         if ($t_avatar === null) {
             $t_avatar = new Avatar();
         }
         $t_avatar->normalize($p_user_id, $t_user_exists);
     }
     return $t_avatar;
 }
/**
 * Allow plugins to define a set of class-based filters, and register/load
 * them here to be used by the rest of filter_api.
 * @return array Mapping of field name to filter object
 */
function filter_get_plugin_filters()
{
    static $s_field_array = null;
    if (is_null($s_field_array)) {
        $s_field_array = array();
        $t_all_plugin_filters = event_signal('EVENT_FILTER_FIELDS');
        foreach ($t_all_plugin_filters as $t_plugin => $t_plugin_filters) {
            foreach ($t_plugin_filters as $t_callback => $t_plugin_filter_array) {
                if (is_array($t_plugin_filter_array)) {
                    foreach ($t_plugin_filter_array as $t_filter_class) {
                        if (class_exists($t_filter_class) && is_subclass_of($t_filter_class, 'MantisFilter')) {
                            $t_filter_object = new $t_filter_class();
                            $t_field_name = $t_plugin . '_' . $t_filter_object->field;
                            $s_field_array[$t_field_name] = $t_filter_object;
                        }
                    }
                }
            }
        }
    }
    return $s_field_array;
}
Example #5
0
/**
 * Allow plugins to define a set of class-based columns, and register/load
 * them here to be used by columns_api.
 * @return array Mapping of column name to column object
 */
function columns_get_plugin_columns()
{
    static $s_column_array = null;
    if (is_null($s_column_array)) {
        $s_column_array = array();
        $t_all_plugin_columns = event_signal('EVENT_FILTER_COLUMNS');
        foreach ($t_all_plugin_columns as $t_plugin => $t_plugin_columns) {
            foreach ($t_plugin_columns as $t_callback => $t_plugin_column_array) {
                if (is_array($t_plugin_column_array)) {
                    foreach ($t_plugin_column_array as $t_column_class) {
                        if (class_exists($t_column_class) && is_subclass_of($t_column_class, 'MantisColumn')) {
                            $t_column_object = new $t_column_class();
                            $t_column_name = utf8_strtolower($t_plugin . '_' . $t_column_object->column);
                            $s_column_array[$t_column_name] = $t_column_object;
                        }
                    }
                }
            }
        }
    }
    return $s_column_array;
}
</label>
		</th>
		<td>
			<select <?php 
    echo helper_get_tab_index();
    ?>
 id="target_version" name="target_version">
				<?php 
    print_version_option_list('', null, VERSION_FUTURE);
    ?>
			</select>
		</td>
	</tr>
<?php 
}
event_signal('EVENT_REPORT_BUG_FORM', array($t_project_id));
?>
	<tr>
		<th class="category">
			<span class="required">*</span><label for="summary"><?php 
print_documentation_link('summary');
?>
</label>
		</th>
		<td>
			<input <?php 
echo helper_get_tab_index();
?>
 type="text" id="summary" name="summary" size="105" maxlength="128" value="<?php 
echo string_attribute($f_summary);
?>
 /**
  * Initialize the extension cache.
  */
 public static function init()
 {
     if (is_array(self::$cache) && !empty(self::$cache)) {
         return;
     }
     $t_raw_data = event_signal('EVENT_SOURCE_INTEGRATION');
     foreach ($t_raw_data as $t_plugin => $t_callbacks) {
         foreach ($t_callbacks as $t_callback => $t_object) {
             if (is_subclass_of($t_object, 'MantisSourcePlugin') && is_string($t_object->type) && !is_blank($t_object->type)) {
                 $t_type = strtolower($t_object->type);
                 self::$cache[$t_type] = new SourceVCSWrapper($t_object);
             }
         }
     }
     ksort(self::$cache);
 }
Example #8
0
/**
 * Prints a single textual line of information about an attachment including download link, file
 * size and upload timestamp.
 * @param array $p_attachment An attachment array from within the array returned by the file_get_visible_attachments() function.
 * @return void
 */
function print_bug_attachment_header(array $p_attachment)
{
    echo "\n";
    if ($p_attachment['exists']) {
        if ($p_attachment['can_download']) {
            echo '<a href="' . string_attribute($p_attachment['download_url']) . '">';
        }
        print_file_icon($p_attachment['display_name']);
        if ($p_attachment['can_download']) {
            echo '</a>';
        }
        echo lang_get('word_separator');
        if ($p_attachment['can_download']) {
            echo '<a href="' . string_attribute($p_attachment['download_url']) . '">';
        }
        echo string_display_line($p_attachment['display_name']);
        if ($p_attachment['can_download']) {
            echo '</a>';
        }
        echo lang_get('word_separator') . '(' . number_format($p_attachment['size']) . lang_get('word_separator') . lang_get('bytes') . ')';
        echo lang_get('word_separator') . '<span class="italic">' . date(config_get('normal_date_format'), $p_attachment['date_added']) . '</span>';
        event_signal('EVENT_VIEW_BUG_ATTACHMENT', array($p_attachment));
    } else {
        print_file_icon($p_attachment['display_name']);
        echo lang_get('word_separator') . '<span class="strike">' . string_display_line($p_attachment['display_name']) . '</span>' . lang_get('word_separator') . '(' . lang_get('attachment_missing') . ')';
    }
    if ($p_attachment['can_delete']) {
        echo lang_get('word_separator') . '[';
        print_link('bug_file_delete.php?file_id=' . $p_attachment['id'] . form_security_param('bug_file_delete'), lang_get('delete_link'), false, 'small');
        echo ']';
    }
}
Example #9
0
            break;
    }
    echo string_display_links($t_bugnote->note);
    ?>
	</td>
</tr>
<?php 
    event_signal('EVENT_VIEW_BUGNOTE', array($f_bug_id, $t_bugnote->id, VS_PRIVATE == $t_bugnote->view_state));
    ?>
<tr class="spacer">
	<td colspan="2"></td>
</tr>
<?php 
}
# end for loop
event_signal('EVENT_VIEW_BUGNOTES_END', $f_bug_id);
?>
</table>
<?php 
if ($t_total_time > 0 && access_has_bug_level(config_get('time_tracking_view_threshold'), $f_bug_id)) {
    echo '<p class="time-tracking-total">', sprintf(lang_get('total_time_for_issue'), '<span class="time-tracked">' . db_minutes_to_hhmm($t_total_time) . '</span>'), '</p>';
}
collapse_closed('bugnotes');
?>

<table class="width100" cellspacing="1">
<tr>
	<td class="form-title" colspan="2">
		<?php 
collapse_icon('bugnotes');
?>
Example #10
0
require_api('error_api.php');
require_api('event_api.php');
require_api('form_api.php');
require_api('gpc_api.php');
require_api('print_api.php');
require_api('string_api.php');
form_security_validate('bugnote_update');
$f_bugnote_id = gpc_get_int('bugnote_id');
$f_bugnote_text = gpc_get_string('bugnote_text', '');
$f_time_tracking = gpc_get_string('time_tracking', '0:00');
# Check if the current user is allowed to edit the bugnote
$t_user_id = auth_get_current_user_id();
$t_reporter_id = bugnote_get_field($f_bugnote_id, 'reporter_id');
if ($t_user_id == $t_reporter_id) {
    access_ensure_bugnote_level(config_get('bugnote_user_edit_threshold'), $f_bugnote_id);
} else {
    access_ensure_bugnote_level(config_get('update_bugnote_threshold'), $f_bugnote_id);
}
# Check if the bug is readonly
$t_bug_id = bugnote_get_field($f_bugnote_id, 'bug_id');
if (bug_is_readonly($t_bug_id)) {
    error_parameters($t_bug_id);
    trigger_error(ERROR_BUG_READ_ONLY_ACTION_DENIED, ERROR);
}
$f_bugnote_text = trim($f_bugnote_text) . "\n\n";
bugnote_set_text($f_bugnote_id, $f_bugnote_text);
bugnote_set_time_tracking($f_bugnote_id, $f_time_tracking);
# Plugin integration
event_signal('EVENT_BUGNOTE_EDIT', array($t_bug_id, $f_bugnote_id));
form_security_purge('bugnote_update');
print_successful_redirect(string_get_bug_view_url($t_bug_id) . '#bugnotes');
        }
        if (is_null($obsolete)) {
            $version->obsolete = false;
        } else {
            if ($obsolete == 'on') {
                $version->obsolete = true;
            }
        }
        if (!is_null($date_order)) {
            $new_date_order = $date_order[$version_index];
            $version->date_order = $new_date_order;
        }
        if (!is_null($type)) {
            $new_type = $type[$version_index];
            if (strlen($new_type) > 0) {
                $new_type_id = $specmanagement_database_api->get_type_id($new_type);
                $specmanagement_database_api->update_version_associated_type($project_id, $version_ids[$version_index], $new_type_id);
            } else {
                $specmanagement_database_api->update_version_associated_type($project_id, $version_ids[$version_index], 9999);
            }
        }
        if (!is_null($description)) {
            $new_description = $description[$version_index];
            $version->description = $new_description;
        }
        version_update($version);
        event_signal('EVENT_MANAGE_VERSION_UPDATE', array($version_id));
    }
}
form_security_purge('plugin_SpecManagement_manage_versions_update');
print_successful_redirect(plugin_page('manage_versions', true));
Example #12
0
/**
 * Add a bugnote to a bug
 * return the ID of the new bugnote
 * @param int $p_bug_id bug id
 * @param string $p_bugnote_text bugnote text
 * @param string $p_time_tracking hh:mm string
 * @param bool $p_private whether bugnote is private
 * @param int $p_type bugnote type
 * @param string $p_attr
 * @param int $p_user_id user id
 * @param bool $p_send_email generate email?
 * @return false|int false or indicating bugnote id added
 * @access public
 */
function bugnote_add($p_bug_id, $p_bugnote_text, $p_time_tracking = '0:00', $p_private = false, $p_type = BUGNOTE, $p_attr = '', $p_user_id = null, $p_send_email = TRUE, $p_log_history = TRUE)
{
    $c_bug_id = db_prepare_int($p_bug_id);
    $c_time_tracking = helper_duration_to_minutes($p_time_tracking);
    $c_type = db_prepare_int($p_type);
    if (REMINDER !== $p_type) {
        # Check if this is a time-tracking note
        $t_time_tracking_enabled = config_get('time_tracking_enabled');
        if (ON == $t_time_tracking_enabled && $c_time_tracking > 0) {
            $t_time_tracking_without_note = config_get('time_tracking_without_note');
            if (is_blank($p_bugnote_text) && OFF == $t_time_tracking_without_note) {
                error_parameters(lang_get('bugnote'));
                trigger_error(ERROR_EMPTY_FIELD, ERROR);
            }
            $c_type = TIME_TRACKING;
        } else {
            if (is_blank($p_bugnote_text)) {
                # This is not time tracking (i.e. it's a normal bugnote)
                # @todo should we not trigger an error in this case ?
                return false;
            }
        }
    }
    $t_bugnote_text_table = db_get_table('mantis_bugnote_text_table');
    $t_bugnote_table = db_get_table('mantis_bugnote_table');
    # Event integration
    $t_bugnote_text = event_signal('EVENT_BUGNOTE_DATA', $p_bugnote_text, $c_bug_id);
    # insert bugnote text
    $query = 'INSERT INTO ' . $t_bugnote_text_table . ' ( note ) VALUES ( ' . db_param() . ' )';
    db_query_bound($query, array($t_bugnote_text));
    # retrieve bugnote text id number
    $t_bugnote_text_id = db_insert_id($t_bugnote_text_table);
    # get user information
    if ($p_user_id === null) {
        $c_user_id = auth_get_current_user_id();
    } else {
        $c_user_id = db_prepare_int($p_user_id);
    }
    # Check for private bugnotes.
    # @@@ VB: Should we allow users to report private bugnotes, and possibly see only their own private ones
    if ($p_private && access_has_bug_level(config_get('private_bugnote_threshold'), $p_bug_id, $c_user_id)) {
        $t_view_state = VS_PRIVATE;
    } else {
        $t_view_state = VS_PUBLIC;
    }
    # insert bugnote info
    $query = "INSERT INTO {$t_bugnote_table}\n\t\t\t\t(bug_id, reporter_id, bugnote_text_id, view_state, date_submitted, last_modified, note_type, note_attr, time_tracking )\n\t\t\tVALUES\n\t\t\t\t(" . db_param() . ', ' . db_param() . ',' . db_param() . ', ' . db_param() . ', ' . db_param() . ',' . db_param() . ', ' . db_param() . ', ' . db_param() . ', ' . db_param() . ' )';
    db_query_bound($query, array($c_bug_id, $c_user_id, $t_bugnote_text_id, $t_view_state, db_now(), db_now(), $c_type, $p_attr, $c_time_tracking));
    # get bugnote id
    $t_bugnote_id = db_insert_id($t_bugnote_table);
    # update bug last updated
    bug_update_date($p_bug_id);
    # log new bug
    if (TRUE == $p_log_history) {
        history_log_event_special($p_bug_id, BUGNOTE_ADDED, bugnote_format_id($t_bugnote_id));
    }
    # if it was FEEDBACK its NEW_ now
    if (config_get('reassign_on_feedback') && bug_get_field($p_bug_id, 'status') == config_get('bug_feedback_status') && bug_get_field($p_bug_id, 'reporter_id') == $c_user_id) {
        if (bug_get_field($p_bug_id, 'handler_id') == 0) {
            bug_set_field($p_bug_id, 'status', config_get('bug_submit_status'));
        } else {
            bug_set_field($p_bug_id, 'status', config_get('bug_assigned_status'));
        }
    }
    # Event integration
    event_signal('EVENT_BUGNOTE_ADD', array($p_bug_id, $t_bugnote_id));
    # only send email if the text is not blank, otherwise, it is just recording of time without a comment.
    if (TRUE == $p_send_email && !is_blank($t_bugnote_text)) {
        email_bugnote_add($p_bug_id);
    }
    return $t_bugnote_id;
}
Example #13
0
}
echo lang_get('viewing_bugs_title');
echo " ({$v_start} - {$v_end} / {$t_bug_count})";
?>
 </span>

		<span class="floatleft small">
		<?php 
# -- Print and Export links --
echo '&#160;';
print_bracket_link('print_all_bug_page.php', lang_get('print_all_bug_page_link'));
echo '&#160;';
print_bracket_link('csv_export.php', lang_get('csv_export'));
echo '&#160;';
print_bracket_link('excel_xml_export.php', lang_get('excel_export'));
$t_event_menu_options = $t_links = event_signal('EVENT_MENU_FILTER');
foreach ($t_event_menu_options as $t_plugin => $t_plugin_menu_options) {
    foreach ($t_plugin_menu_options as $t_callback => $t_callback_menu_options) {
        if (!is_array($t_callback_menu_options)) {
            $t_callback_menu_options = array($t_callback_menu_options);
        }
        foreach ($t_callback_menu_options as $t_menu_option) {
            if ($t_menu_option) {
                print_bracket_link_prepared($t_menu_option);
            }
        }
    }
}
?>
 </span>
?>
>
	<td class="category">
		<?php 
echo lang_get('obsolete');
?>
	</td>
	<td>
		<input type="checkbox" name="obsolete" <?php 
check_checked($t_version->obsolete, true);
?>
 />
	</td>
</tr>
<?php 
event_signal('EVENT_MANAGE_VERSION_UPDATE_FORM', array($t_version->id));
?>
<tr>
	<td>
		&#160;
	</td>
	<td>
		<input type="submit" class="button" value="<?php 
echo lang_get('update_version_button');
?>
" />
	</td>
</tr>
</table>
</form>
</div>
Example #15
0
/**
 * Initialize all installed plugins.
 * Post-signals EVENT_PLUGIN_INIT.
 */
function plugin_init_installed()
{
    if (OFF == config_get_global('plugins_enabled') || !db_table_exists(db_get_table('plugin'))) {
        return;
    }
    global $g_plugin_cache, $g_plugin_current, $g_plugin_cache_priority, $g_plugin_cache_protected, $g_plugin_cache_init;
    $g_plugin_cache = array();
    $g_plugin_current = array();
    $g_plugin_cache_init = array();
    $g_plugin_cache_priority = array();
    $g_plugin_cache_protected = array();
    plugin_register('MantisCore');
    plugin_register_installed();
    $t_plugins = array_keys($g_plugin_cache);
    do {
        $t_continue = false;
        $t_plugins_retry = array();
        foreach ($t_plugins as $t_basename) {
            if (plugin_init($t_basename)) {
                $t_continue = true;
            } else {
                # Dependent plugin
                $t_plugins_retry[] = $t_basename;
            }
        }
        $t_plugins = $t_plugins_retry;
    } while ($t_continue);
    event_signal('EVENT_PLUGIN_INIT');
}
Example #16
0
    require_api('authentication_api.php');
    if (auth_is_user_authenticated()) {
        require_api('user_pref_api.php');
        $t_user_timezone = user_pref_get_pref(auth_get_current_user_id(), 'timezone');
        if (!is_blank($t_user_timezone)) {
            date_default_timezone_set($t_user_timezone);
        }
    }
}
if (!defined('MANTIS_MAINTENANCE_MODE')) {
    require_api('collapse_api.php');
    collapse_cache_token();
}
# Load custom functions
require_api('custom_function_api.php');
if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . 'custom_functions_inc.php')) {
    require_once dirname(__FILE__) . DIRECTORY_SEPARATOR . 'custom_functions_inc.php';
}
# Set HTTP response headers
require_api('http_api.php');
http_all_headers();
# Push default language to speed calls to lang_get
if (!defined('LANG_LOAD_DISABLED')) {
    require_api('lang_api.php');
    lang_push(lang_get_default());
}
# Signal plugins that the core system is loaded
if (!defined('PLUGINS_DISABLED') && !defined('MANTIS_MAINTENANCE_MODE')) {
    require_api('event_api.php');
    event_signal('EVENT_CORE_READY');
}
Example #17
0
    # copy notes from parent
    if ($f_copy_notes_from_parent) {
        $t_parent_bugnotes = bugnote_get_all_bugnotes($f_master_bug_id);
        foreach ($t_parent_bugnotes as $t_parent_bugnote) {
            $t_private = $t_parent_bugnote->view_state == VS_PRIVATE;
            bugnote_add($t_bug_id, $t_parent_bugnote->note, $t_parent_bugnote->time_tracking, $t_private, $t_parent_bugnote->note_type, $t_parent_bugnote->note_attr, $t_parent_bugnote->reporter_id, FALSE, FALSE);
        }
    }
    # copy attachments from parent
    if ($f_copy_attachments_from_parent) {
        file_copy_attachments($f_master_bug_id, $t_bug_id);
    }
}
helper_call_custom_function('issue_create_notify', array($t_bug_id));
# Allow plugins to post-process bug data with the new bug ID
event_signal('EVENT_REPORT_BUG', array($t_bug_data, $t_bug_id));
email_new_bug($t_bug_id);
// log status and resolution changes if they differ from the default
if ($t_bug_data->status != config_get('bug_submit_status')) {
    history_log_event($t_bug_id, 'status', config_get('bug_submit_status'));
}
if ($t_bug_data->resolution != config_get('default_bug_resolution')) {
    history_log_event($t_bug_id, 'resolution', config_get('default_bug_resolution'));
}
form_security_purge('bug_report');
html_page_top1();
if (!$f_report_stay) {
    html_meta_redirect('view_all_bug_page.php');
}
html_page_top2();
?>
Example #18
0
/**
 * Log an event
 * @param int $p_level Valid debug log level
 * @param string|array $p_msg Either a string, or an array structured as (string,execution time)
 * @param object $p_backtrace [Optional] debug_backtrace() stack to use 
 * @return null
 */
function log_event($p_level, $p_msg, $p_backtrace = null)
{
    global $g_log_levels;
    # check to see if logging is enabled
    $t_sys_log = config_get_global('log_level');
    if (0 == ($t_sys_log & $p_level)) {
        return;
    }
    if (is_array($p_msg)) {
        $t_event = $p_msg;
        $s_msg = var_export($p_msg, true);
    } else {
        $t_event = array($p_msg, 0);
        $s_msg = $p_msg;
    }
    if ($p_backtrace === null) {
        $t_backtrace = debug_backtrace();
    } else {
        $t_backtrace = $p_backtrace;
    }
    $t_caller = basename($t_backtrace[0]['file']);
    $t_caller .= ":" . $t_backtrace[0]['line'];
    # Is this called from another function?
    if (isset($t_backtrace[1])) {
        $t_caller .= ' ' . $t_backtrace[1]['function'] . '()';
    } else {
        # or from a script directly?
        $t_caller .= ' ' . $_SERVER['SCRIPT_NAME'];
    }
    $t_now = date(config_get_global('complete_date_format'));
    $t_level = $g_log_levels[$p_level];
    $t_plugin_event = '[' . $t_level . '] ' . $p_msg;
    if (function_exists('event_signal')) {
        event_signal('EVENT_LOG', array($t_plugin_event));
    }
    $t_log_destination = config_get_global('log_destination');
    if (is_blank($t_log_destination)) {
        $t_destination = '';
    } else {
        @(list($t_destination, $t_modifiers) = explode(':', $t_log_destination, 2));
    }
    switch ($t_destination) {
        case 'none':
            break;
        case 'file':
            $t_php_event = $t_now . ' ' . $t_level . ' ' . $s_msg;
            error_log($t_php_event . PHP_EOL, 3, $t_modifiers);
            break;
        case 'page':
            global $g_log_events;
            $g_log_events[] = array(time(), $p_level, $t_event, $t_caller);
            break;
        case 'firebug':
            if (!class_exists('FirePHP')) {
                if (file_exists(config_get_global('library_path') . 'FirePHPCore' . DIRECTORY_SEPARATOR . 'FirePHP.class.php')) {
                    require_lib('FirePHPCore' . DIRECTORY_SEPARATOR . 'FirePHP.class.php');
                }
            }
            if (class_exists('FirePHP')) {
                static $firephp;
                if ($firephp === null) {
                    $firephp = FirePHP::getInstance(true);
                }
                $t_php_event = $t_now . ' ' . $t_level . ' ' . $s_msg;
                $firephp->log($p_msg, $t_php_event);
                return;
            }
            // if firebug is not available, fall through
        // if firebug is not available, fall through
        default:
            # use default PHP error log settings
            $t_php_event = $t_now . ' ' . $t_level . ' ' . $s_msg;
            error_log($t_php_event . PHP_EOL);
            break;
    }
}
Example #19
0
					<span class="input"><input type="text" id="project-file-path" name="file_path" size="60" maxlength="250" value="<?php 
    echo $t_file_path;
    ?>
" /></span>
					<span class="label-style"></span>
				</div><?php 
}
?>
			<div class="field-container">
				<label for="project-description"><span><?php 
echo lang_get('description');
?>
</span></label>
				<span class="textarea"><textarea id="project-description" name="description" cols="70" rows="5"></textarea></span>
				<span class="label-style"></span>
			</div>

			<?php 
event_signal('EVENT_MANAGE_PROJECT_CREATE_FORM');
?>

			<span class="submit-button"><input type="submit" class="button" value="<?php 
echo lang_get('add_project_button');
?>
" /></span>
		</fieldset>
	</form>
</div>

<?php 
html_page_bottom();
Example #20
0
    ?>
</b></td>
</tr>
<tr <?php 
    echo helper_alternate_class();
    ?>
>
	<td><?php 
    echo plugin_lang_get('manage_settings_license_info');
    ?>
</td>
	<td class="left" style="height:230px">
		<div class="applet-row">
		<?php 
    if (plugin_is_loaded('agileMantisExpert')) {
        event_signal('EVENT_LOAD_SETTINGS', array(auth_get_current_user_id()));
    } else {
        ?>
		<a href="<?php 
        echo AGILEMANTIS_EXPERT_DOWNLOAD_LINK;
        ?>
"><?php 
        echo plugin_lang_get('license_download');
        ?>
</a>
		<a href="<?php 
        echo AGILEMANTIS_ORDER_PAGE_URL;
        ?>
" style="padding-left:20px"><?php 
        echo plugin_lang_get('license_buy');
        ?>
Example #21
0
            if (0 === $f_custom_field_id) {
                trigger_error(ERROR_GENERIC, ERROR);
            }
            # @todo we need to issue a helper_call_custom_function( 'issue_update_validate', array( $t_bug_id, $t_bug_data, $f_bugnote_text ) );
            $t_form_var = 'custom_field_' . $f_custom_field_id;
            $t_custom_field_value = gpc_get_custom_field($t_form_var, $t_custom_field_def['type'], null);
            custom_field_set_value($f_custom_field_id, $t_bug_id, $t_custom_field_value);
            bug_update_date($t_bug_id);
            email_bug_updated($t_bug_id);
            helper_call_custom_function('issue_update_notify', array($t_bug_id));
            break;
        default:
            trigger_error(ERROR_GENERIC, ERROR);
    }
    # Bug Action Event
    event_signal('EVENT_BUG_ACTION', array($f_action, $t_bug_id));
}
form_security_purge($t_form_name);
$t_redirect_url = 'view_all_bug_page.php';
if (count($t_failed_ids) > 0) {
    html_page_top();
    echo '<div><br />';
    echo '<table class="width75">';
    $t_separator = lang_get('word_separator');
    foreach ($t_failed_ids as $t_id => $t_reason) {
        $t_label = sprintf(lang_get('label'), string_get_bug_view_link($t_id)) . $t_separator;
        printf("<tr><td width=\"50%%\">%s%s</td><td>%s</td></tr>\n", $t_label, bug_get_field($t_id, 'summary'), $t_reason);
    }
    echo '</table><br />';
    print_bracket_link($t_redirect_url, lang_get('proceed'));
    echo '</div>';
Example #22
0
require_api('project_api.php');
require_api('project_hierarchy_api.php');
form_security_validate('manage_proj_create');
auth_reauthenticate();
access_ensure_global_level(config_get('create_project_threshold'));
$f_name = gpc_get_string('name');
$f_description = gpc_get_string('description');
$f_view_state = gpc_get_int('view_state');
$f_status = gpc_get_int('status');
$f_file_path = gpc_get_string('file_path', '');
$f_inherit_global = gpc_get_bool('inherit_global', 0);
$f_inherit_parent = gpc_get_bool('inherit_parent', 0);
$f_parent_id = gpc_get_int('parent_id', 0);
if (0 != $f_parent_id) {
    project_ensure_exists($f_parent_id);
}
$t_project_id = project_create(strip_tags($f_name), $f_description, $f_status, $f_view_state, $f_file_path, true, $f_inherit_global);
if ($f_view_state == VS_PRIVATE && false === current_user_is_administrator()) {
    $t_access_level = access_get_global_level();
    $t_current_user_id = auth_get_current_user_id();
    project_add_user($t_project_id, $t_current_user_id, $t_access_level);
}
if (0 != $f_parent_id) {
    project_hierarchy_add($t_project_id, $f_parent_id, $f_inherit_parent);
}
event_signal('EVENT_MANAGE_PROJECT_CREATE', array($t_project_id));
form_security_purge('manage_proj_create');
$t_redirect_url = 'manage_proj_page.php';
html_page_top(null, $t_redirect_url);
html_operation_successful($t_redirect_url);
html_page_bottom();
Example #23
0
/**
 * Display html form to edit account preferences
 *
 * @param integer $p_user_id            A valid user identifier.
 * @param boolean $p_error_if_protected Whether to error if the account is protected.
 * @param boolean $p_accounts_menu      Display account preferences menu.
 * @param string  $p_redirect_url       Redirect URI.
 * @return void
 */
function edit_account_prefs($p_user_id = null, $p_error_if_protected = true, $p_accounts_menu = true, $p_redirect_url = '')
{
    if (null === $p_user_id) {
        $p_user_id = auth_get_current_user_id();
    }
    $t_redirect_url = $p_redirect_url;
    if (is_blank($t_redirect_url)) {
        $t_redirect_url = 'account_prefs_page.php';
    }
    # protected account check
    if (user_is_protected($p_user_id)) {
        if ($p_error_if_protected) {
            trigger_error(ERROR_PROTECTED_ACCOUNT, ERROR);
        } else {
            return;
        }
    }
    $t_pref = user_pref_get($p_user_id);
    # Account Preferences Form BEGIN
    ?>

<div id="account-prefs-update-div" class="form-container">
	<form id="account-prefs-update-form" method="post" action="account_prefs_update.php">
		<fieldset>
			<legend><span><?php 
    echo lang_get('default_account_preferences_title');
    ?>
</span></legend>
			<?php 
    echo form_security_field('account_prefs_update');
    ?>
			<input type="hidden" name="user_id" value="<?php 
    echo $p_user_id;
    ?>
" />
			<input type="hidden" name="redirect_url" value="<?php 
    echo $t_redirect_url;
    ?>
" />
		<?php 
    if ($p_accounts_menu) {
        print_account_menu('account_prefs_page.php');
    }
    ?>
			<div class="field-container">
				<label for="default-project-id"><span><?php 
    echo lang_get('default_project');
    ?>
</span></label>
				<span class="select">
					<select id="default-project-id" name="default_project">
<?php 
    # Count number of available projects
    $t_projects = current_user_get_accessible_projects();
    $t_num_proj = count($t_projects);
    if ($t_num_proj == 1) {
        $t_num_proj += count(current_user_get_accessible_subprojects($t_projects[0]));
    }
    # Don't display "All projects" in selection list if there is only 1
    print_project_option_list((int) $t_pref->default_project, $t_num_proj != 1);
    ?>
					</select>
				</span>
				<span class="label-style"></span>
			</div>
			<div class="field-container">
				<label for="refresh-delay"><span><?php 
    echo lang_get('refresh_delay');
    ?>
</span></label>
				<span class="input"><input id="refresh-delay" type="text" name="refresh_delay" size="4" maxlength="4" value="<?php 
    echo $t_pref->refresh_delay;
    ?>
" /> <?php 
    echo lang_get('minutes');
    ?>
</span>
				<span class="label-style"></span>
			</div>
			<div class="field-container">
				<label for="redirect-delay"><span><?php 
    echo lang_get('redirect_delay');
    ?>
</span></label>
				<span class="input"><input id="redirect-delay" type="text" name="redirect_delay" size="4" maxlength="3" value="<?php 
    echo $t_pref->redirect_delay;
    ?>
" /> <?php 
    echo lang_get('seconds');
    ?>
</span>
				<span class="label-style"></span>
			</div>
			<fieldset class="field-container">
				<legend><span><?php 
    echo lang_get('bugnote_order');
    ?>
</span></legend>
				<span class="radio"><input id="bugnote-order-desc" type="radio" name="bugnote_order" value="DESC" <?php 
    check_checked($t_pref->bugnote_order, 'DESC');
    ?>
 /></span>
				<label for="bugnote-order-desc"><span><?php 
    echo lang_get('bugnote_order_desc');
    ?>
</span></label>
				<span class="radio"><input id="bugnote-order-asc" type="radio" name="bugnote_order" value="ASC" <?php 
    check_checked($t_pref->bugnote_order, 'ASC');
    ?>
 /></span>
				<label for="bugnote-order-asc"><span><?php 
    echo lang_get('bugnote_order_asc');
    ?>
</span></label>
				<span class="label-style"></span>
			</fieldset>
			<?php 
    if (ON == config_get('enable_email_notification')) {
        ?>
			<fieldset class="field-container">
				<legend><label for="email-on-new"><?php 
        echo lang_get('email_on_new');
        ?>
</label></legend>
				<span class="checkbox"><input id="email-on-new" type="checkbox" name="email_on_new" <?php 
        check_checked((int) $t_pref->email_on_new, ON);
        ?>
 /></span>
				<label for="email-on-new-min-severity" class="email-on-severity-label"><span><?php 
        echo lang_get('with_minimum_severity');
        ?>
</span></label>
				<span class="select email-on-severity">
					<select id="email-on-new-min-severity" name="email_on_new_min_severity">
						<option value="<?php 
        echo OFF;
        ?>
"><?php 
        echo lang_get('any');
        ?>
</option>
						<option disabled="disabled">-----</option>
						<?php 
        print_enum_string_option_list('severity', (int) $t_pref->email_on_new_min_severity);
        ?>
					</select>
				</span>
				<span class="label-style"></span>
			</fieldset>
			<fieldset class="field-container">
				<legend><label for="email-on-assigned"><?php 
        echo lang_get('email_on_assigned');
        ?>
</label></legend>
				<span class="checkbox"><input id="email-on-assigned" type="checkbox" name="email_on_assigned" <?php 
        check_checked((int) $t_pref->email_on_assigned, ON);
        ?>
 /></span>
				<label for="email-on-assigned-min-severity" class="email-on-severity-label"><span><?php 
        echo lang_get('with_minimum_severity');
        ?>
</span></label>
				<span class="select email-on-severity">
					<select id="email-on-assigned-min-severity" name="email_on_assigned_min_severity">
						<option value="<?php 
        echo OFF;
        ?>
"><?php 
        echo lang_get('any');
        ?>
</option>
						<option disabled="disabled">-----</option>
						<?php 
        print_enum_string_option_list('severity', (int) $t_pref->email_on_assigned_min_severity);
        ?>
					</select>
				</span>
				<span class="label-style"></span>
			</fieldset>
			<fieldset class="field-container">
				<legend><label for="email-on-feedback"><?php 
        echo lang_get('email_on_feedback');
        ?>
</label></legend>
				<span class="checkbox"><input id="email-on-feedback" type="checkbox" name="email_on_feedback" <?php 
        check_checked((int) $t_pref->email_on_feedback, ON);
        ?>
 /></span>
				<label for="email-on-feedback-min-severity" class="email-on-severity-label"><span><?php 
        echo lang_get('with_minimum_severity');
        ?>
</span></label>
				<span class="select email-on-severity">
					<select id="email-on-feedback-min-severity" name="email_on_feedback_min_severity">
						<option value="<?php 
        echo OFF;
        ?>
"><?php 
        echo lang_get('any');
        ?>
</option>
						<option disabled="disabled">-----</option>
						<?php 
        print_enum_string_option_list('severity', (int) $t_pref->email_on_feedback_min_severity);
        ?>
					</select>
				</span>
				<span class="label-style"></span>
			</fieldset>
			<fieldset class="field-container">
				<legend><label for="email-on-resolved"><?php 
        echo lang_get('email_on_resolved');
        ?>
</label></legend>
				<span class="checkbox"><input id="email-on-resolved" type="checkbox" name="email_on_resolved" <?php 
        check_checked((int) $t_pref->email_on_resolved, ON);
        ?>
 /></span>
				<label for="email-on-resolved-min-severity" class="email-on-severity-label"><span><?php 
        echo lang_get('with_minimum_severity');
        ?>
</span></label>
				<span class="select email-on-severity">
					<select id="email-on-resolved-min-severity" name="email_on_resolved_min_severity">
						<option value="<?php 
        echo OFF;
        ?>
"><?php 
        echo lang_get('any');
        ?>
</option>
						<option disabled="disabled">-----</option>
						<?php 
        print_enum_string_option_list('severity', (int) $t_pref->email_on_resolved_min_severity);
        ?>
					</select>
				</span>
				<span class="label-style"></span>
			</fieldset>
			<fieldset class="field-container">
				<legend><label for="email-on-closed"><?php 
        echo lang_get('email_on_closed');
        ?>
</label></legend>
				<span class="checkbox"><input id="email-on-closed" type="checkbox" name="email_on_closed" <?php 
        check_checked((int) $t_pref->email_on_closed, ON);
        ?>
 /></span>
				<label for="email-on-closed-min-severity" class="email-on-severity-label"><span><?php 
        echo lang_get('with_minimum_severity');
        ?>
</span></label>
				<span class="select email-on-severity">
					<select id="email-on-closed-min-severity" name="email_on_closed_min_severity">
						<option value="<?php 
        echo OFF;
        ?>
"><?php 
        echo lang_get('any');
        ?>
</option>
						<option disabled="disabled">-----</option>
						<?php 
        print_enum_string_option_list('severity', (int) $t_pref->email_on_closed_min_severity);
        ?>
					</select>
				</span>
				<span class="label-style"></span>
			</fieldset>
			<fieldset class="field-container">
				<legend><label for="email-on-reopened"><?php 
        echo lang_get('email_on_reopened');
        ?>
</label></legend>
				<span class="checkbox"><input id="email-on-reopened" type="checkbox" name="email_on_reopened" <?php 
        check_checked((int) $t_pref->email_on_reopened, ON);
        ?>
 /></span>
				<label for="email-on-reopened-min-severity" class="email-on-severity-label"><span><?php 
        echo lang_get('with_minimum_severity');
        ?>
</span></label>
				<span class="select email-on-severity">
					<select id="email-on-reopened-min-severity" name="email_on_reopened_min_severity">
						<option value="<?php 
        echo OFF;
        ?>
"><?php 
        echo lang_get('any');
        ?>
</option>
						<option disabled="disabled">-----</option>
						<?php 
        print_enum_string_option_list('severity', (int) $t_pref->email_on_reopened_min_severity);
        ?>
					</select>
				</span>
				<span class="label-style"></span>
			</fieldset>
			<fieldset class="field-container">
				<legend><label for="email-on-bugnote-added"><?php 
        echo lang_get('email_on_bugnote_added');
        ?>
</label></legend>
				<span class="checkbox"><input id="email-on-bugnote-added" type="checkbox" name="email_on_bugnote" <?php 
        check_checked((int) $t_pref->email_on_bugnote, ON);
        ?>
 /></span>
				<label for="email-on-bugnote-min-severity" class="email-on-severity-label"><span><?php 
        echo lang_get('with_minimum_severity');
        ?>
</span></label>
				<span class="select email-on-severity">
					<select id="email-on-bugnote-min-severity" name="email_on_bugnote_min_severity">
						<option value="<?php 
        echo OFF;
        ?>
"><?php 
        echo lang_get('any');
        ?>
</option>
						<option disabled="disabled">-----</option>
						<?php 
        print_enum_string_option_list('severity', (int) $t_pref->email_on_bugnote_min_severity);
        ?>
					</select>
				</span>
				<span class="label-style"></span>
			</fieldset>
			<fieldset class="field-container">
				<legend><label for="email-on-status"><?php 
        echo lang_get('email_on_status_change');
        ?>
</label></legend>
				<span class="checkbox"><input id="email-on-status" type="checkbox" name="email_on_status" <?php 
        check_checked((int) $t_pref->email_on_status, ON);
        ?>
 /></span>
				<label for="email-on-status-min-severity" class="email-on-severity-label"><span><?php 
        echo lang_get('with_minimum_severity');
        ?>
</span></label>
				<span class="select email-on-severity">
					<select id="email-on-status-min-severity" name="email_on_status_min_severity">
						<option value="<?php 
        echo OFF;
        ?>
"><?php 
        echo lang_get('any');
        ?>
</option>
						<option disabled="disabled">-----</option>
						<?php 
        print_enum_string_option_list('severity', (int) $t_pref->email_on_status_min_severity);
        ?>
					</select>
				</span>
				<span class="label-style"></span>
			</fieldset>
			<fieldset class="field-container">
				<legend><label for="email-on-priority-change"><?php 
        echo lang_get('email_on_priority_change');
        ?>
</label></legend>
				<span class="checkbox"><input id="email-on-priority-change" type="checkbox" name="email_on_priority" <?php 
        check_checked((int) $t_pref->email_on_priority, ON);
        ?>
 /></span>
				<label for="email-on-priority-min-severity" class="email-on-severity-label"><span><?php 
        echo lang_get('with_minimum_severity');
        ?>
</span></label>
				<span class="select email-on-severity">
					<select id="email-on-priority-min-severity" name="email_on_priority_min_severity">
						<option value="<?php 
        echo OFF;
        ?>
"><?php 
        echo lang_get('any');
        ?>
</option>
						<option disabled="disabled">-----</option>
						<?php 
        print_enum_string_option_list('severity', (int) $t_pref->email_on_priority_min_severity);
        ?>
					</select>
				</span>
				<span class="label-style"></span>
			</fieldset>
			<div class="field-container">
				<label for="email-bugnote-limit"><span><?php 
        echo lang_get('email_bugnote_limit');
        ?>
</span></label>
				<span class="input"><input id="email-bugnote-limit" type="text" name="email_bugnote_limit" maxlength="2" size="2" value="<?php 
        echo $t_pref->email_bugnote_limit;
        ?>
" /></span>
				<span class="label-style"></span>
			</div>
<?php 
    } else {
        ?>
			<input type="hidden" name="email_on_new"      value="<?php 
        echo $t_pref->email_on_new;
        ?>
" />
			<input type="hidden" name="email_on_assigned" value="<?php 
        echo $t_pref->email_on_assigned;
        ?>
" />
			<input type="hidden" name="email_on_feedback" value="<?php 
        echo $t_pref->email_on_feedback;
        ?>
" />
			<input type="hidden" name="email_on_resolved" value="<?php 
        echo $t_pref->email_on_resolved;
        ?>
" />
			<input type="hidden" name="email_on_closed"   value="<?php 
        echo $t_pref->email_on_closed;
        ?>
" />
			<input type="hidden" name="email_on_reopened" value="<?php 
        echo $t_pref->email_on_reopened;
        ?>
" />
			<input type="hidden" name="email_on_bugnote"  value="<?php 
        echo $t_pref->email_on_bugnote;
        ?>
" />
			<input type="hidden" name="email_on_status"   value="<?php 
        echo $t_pref->email_on_status;
        ?>
" />
			<input type="hidden" name="email_on_priority" value="<?php 
        echo $t_pref->email_on_priority;
        ?>
" />
			<input type="hidden" name="email_on_new_min_severity"      value="<?php 
        echo $t_pref->email_on_new_min_severity;
        ?>
" />
			<input type="hidden" name="email_on_assigned_min_severity" value="<?php 
        echo $t_pref->email_on_assigned_min_severity;
        ?>
" />
			<input type="hidden" name="email_on_feedback_min_severity" value="<?php 
        echo $t_pref->email_on_feedback_min_severity;
        ?>
" />
			<input type="hidden" name="email_on_resolved_min_severity" value="<?php 
        echo $t_pref->email_on_resolved_min_severity;
        ?>
" />
			<input type="hidden" name="email_on_closed_min_severity"   value="<?php 
        echo $t_pref->email_on_closed_min_severity;
        ?>
" />
			<input type="hidden" name="email_on_reopened_min_severity" value="<?php 
        echo $t_pref->email_on_reopened_min_severity;
        ?>
" />
			<input type="hidden" name="email_on_bugnote_min_severity"  value="<?php 
        echo $t_pref->email_on_bugnote_min_severity;
        ?>
" />
			<input type="hidden" name="email_on_status_min_severity"   value="<?php 
        echo $t_pref->email_on_status_min_severity;
        ?>
" />
			<input type="hidden" name="email_on_priority_min_severity" value="<?php 
        echo $t_pref->email_on_priority_min_severity;
        ?>
" />
			<input type="hidden" name="email_bugnote_limit" value="<?php 
        echo $t_pref->email_bugnote_limit;
        ?>
" />
<?php 
    }
    ?>
			<div class="field-container">
				<label for="timezone"><span><?php 
    echo lang_get('timezone');
    ?>
</span></label>
				<span class="select">
					<select id="timezone" name="timezone">
						<?php 
    print_timezone_option_list($t_pref->timezone ? $t_pref->timezone : config_get_global('default_timezone'));
    ?>
					</select>
				</span>
				<span class="label-style"></span>
			</div>
			<div class="field-container">
				<label for="language"><span><?php 
    echo lang_get('language');
    ?>
</span></label>
				<span class="select">
					<select id="language" name="language">
						<?php 
    print_language_option_list($t_pref->language);
    ?>
					</select>
				</span>
				<span class="label-style"></span>
			</div>

			<?php 
    event_signal('EVENT_ACCOUNT_PREF_UPDATE_FORM', array($p_user_id));
    ?>
			<span class="submit-button"><input type="submit" class="button" value="<?php 
    echo lang_get('update_prefs_button');
    ?>
" /></span>
		</fieldset>
	</form>
</div>

<div id="account-prefs-reset-div" class="form-container">
	<form id="account-prefs-reset-form" method="post" action="account_prefs_reset.php">
		<fieldset>
			<?php 
    echo form_security_field('account_prefs_reset');
    ?>
			<input type="hidden" name="user_id" value="<?php 
    echo $p_user_id;
    ?>
" />
			<input type="hidden" name="redirect_url" value="<?php 
    echo $t_redirect_url;
    ?>
" />
			<span class="submit-button"><input type="submit" class="button" value="<?php 
    echo lang_get('reset_prefs_button');
    ?>
" /></span>
		</fieldset>
	</form>
</div>

<?php 
}
Example #24
0
            if ($t_ip == $t_address) {
                $t_valid = true;
                break;
            }
        }
    }
}
if (gpc_get_string('api_key') == plugin_config_get('api_key') && trim(plugin_config_get('api_key')) != '') {
    $t_valid = true;
}
# Not validated by this point gets the boot!
if (!$t_valid) {
    die(plugin_lang_get('invalid_checkin_url'));
}
# Let plugins try to intepret POST data before we do
$t_predata = event_signal('EVENT_SOURCE_PRECOMMIT');
# Expect plugin data in form of array( repo_name, data )
if (is_array($t_predata) && count($t_predata) == 2) {
    $t_repo = $t_predata['repo'];
    $f_data = $t_predata['data'];
} else {
    $f_repo_name = gpc_get_string('repo_name', '');
    $f_data = gpc_get_string('data');
    # Try to find the repository by name
    $t_repo = SourceRepo::load_by_name($f_repo_name);
}
# Repo not found
if (is_null($t_repo)) {
    die(plugin_lang_get('invalid_repo'));
}
$t_vcs = SourceVCS::repo($t_repo);
Example #25
0
 * @uses config_api.php
 * @uses event_api.php
 * @uses form_api.php
 * @uses gpc_api.php
 * @uses print_api.php
 * @uses project_api.php
 */
require_once 'core.php';
require_api('access_api.php');
require_api('authentication_api.php');
require_api('config_api.php');
require_api('event_api.php');
require_api('form_api.php');
require_api('gpc_api.php');
require_api('print_api.php');
require_api('project_api.php');
form_security_validate('manage_proj_update');
auth_reauthenticate();
$f_project_id = gpc_get_int('project_id');
$f_name = gpc_get_string('name');
$f_description = gpc_get_string('description');
$f_status = gpc_get_int('status');
$f_view_state = gpc_get_int('view_state');
$f_file_path = gpc_get_string('file_path', '');
$f_enabled = gpc_get_bool('enabled');
$f_inherit_global = gpc_get_bool('inherit_global', 0);
access_ensure_project_level(config_get('manage_project_threshold'), $f_project_id);
project_update($f_project_id, $f_name, $f_description, $f_status, $f_view_state, $f_file_path, $f_enabled, $f_inherit_global);
event_signal('EVENT_MANAGE_PROJECT_UPDATE', array($f_project_id));
form_security_purge('manage_proj_update');
print_header_redirect('manage_proj_page.php');
Example #26
0
        echo '<input ', helper_get_tab_index(), ' type="checkbox" id="private" name="private" ', check_checked(config_get('default_bugnote_view_status'), VS_PRIVATE), ' />';
        echo lang_get('private');
    } else {
        echo get_enum_element('view_state', $t_default_bugnote_view_status);
    }
    echo '</td></tr>';
}
# Time Tracking (if permitted)
if (config_get('time_tracking_enabled')) {
    if (access_has_bug_level(config_get('time_tracking_edit_threshold'), $t_bug_id)) {
        echo '<tr>';
        echo '<th class="category"><label for="time_tracking">' . lang_get('time_tracking') . '</label></th>';
        echo '<td colspan="5"><input type="text" id="time_tracking" name="time_tracking" size="5" placeholder="hh:mm" /></td></tr>';
    }
}
event_signal('EVENT_BUGNOTE_ADD_FORM', array($t_bug_id));
# Submit Button
if ($t_bottom_buttons_enabled) {
    ?>
			<tfoot>
				<tr>
					<td class="center" colspan="6">
						<input <?php 
    helper_get_tab_index();
    ?>
							type="submit" class="button"
							value="<?php 
    echo lang_get('update_information_button');
    ?>
" />
					</td>
Example #27
0
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# MantisBT is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with MantisBT.  If not, see <http://www.gnu.org/licenses/>.
/**
 * @package MantisBT
 * @copyright Copyright (C) 2002 - 2013  MantisBT Team - mantisbt-dev@lists.sourceforge.net
 * @link http://www.mantisbt.org
 */
/**
 * MantisBT Core API's
 */
require_once 'core.php';
/**
 * requires tag_api
 */
require_once 'tag_api.php';
form_security_validate('tag_detach');
$f_tag_id = gpc_get_int('tag_id');
$f_bug_id = gpc_get_int('bug_id');
tag_bug_detach($f_tag_id, $f_bug_id);
event_signal('EVENT_TAG_DETACHED', array($f_bug_id, array($f_tag_id)));
form_security_purge('tag_detach');
print_successful_redirect_to_bug($f_bug_id);
Example #28
0
/**
 * Generate wiki link to a project
 * @param int $p_project_id
 * @return string url
 * @access public
 */
function wiki_link_project($p_project_id)
{
    return event_signal('EVENT_WIKI_LINK_PROJECT', $p_project_id);
}
# check if available
if (plugin_config_get('gadiv_ranking_order') == 0 && config_get('current_user_assume_userstories_filter', null, auth_get_current_user_id()) == 'rankingOrder') {
    config_set('current_user_assume_userstories_filter', '', auth_get_current_user_id());
    config_set('current_user_assume_userstories_filter_direction', 'ASC', auth_get_current_user_id());
}
if (plugin_config_get('gadiv_tracker_planned_costs') == 0 && config_get('current_user_assume_userstories_filter', null, auth_get_current_user_id()) == 'plannedWork') {
    config_set('current_user_assume_userstories_filter', '', auth_get_current_user_id());
    config_set('current_user_assume_userstories_filter_direction', 'ASC', auth_get_current_user_id());
}
# get all unresolved user stories
$undone = $agilemantis_pb->getAllUndoneUserStories($product_backlog);
if (empty($undone)) {
    echo '<br><center><span class="message_error">' . plugin_lang_get('assume_userstories_error_120C01') . '</span></center>';
}
if (plugin_is_loaded('agileMantisExpert')) {
    event_signal('EVENT_LOAD_USERSTORY');
} else {
}
?>
<br>

<form action="" method="post">
	<input type="hidden" name="action" value="save"> <input type="hidden"
		name="product_backlog" value="<?php 
echo $product_backlog;
?>
"> <input
		type="hidden" name="sprintName" value="<?php 
echo $sprintName;
?>
"> <input
Example #30
0
include AGILEMANTIS_PLUGIN_URI . 'pages/sprint_backlog_functions.php';
if ($show_all_sprints == true) {
    include AGILEMANTIS_PLUGIN_URI . 'pages/chose_sprint.php';
} else {
    include AGILEMANTIS_PLUGIN_URI . 'pages/sprint_backlog_header.php';
    if ($no_sprints == false) {
        ?>
<br>
<?php 
        include AGILEMANTIS_PLUGIN_URI . 'pages/sprint_backlog_actions.php';
        ?>
<br>
<center>
	<?php 
        if (plugin_is_loaded('agileMantisExpert')) {
            event_signal('EVENT_LOAD_TASKBOARD', array(auth_get_current_user_id(), $s['name'], 0));
        } else {
            $images = array();
            $images[] = AGILEMANTIS_PLUGIN_URL . 'images/taskboard_before_sprint_starts.png';
            $images[] = AGILEMANTIS_PLUGIN_URL . 'images/taskboard_beginning_of_the_sprint.png';
            $images[] = AGILEMANTIS_PLUGIN_URL . 'images/taskboard_during_of_the_sprint.png';
            $images[] = AGILEMANTIS_PLUGIN_URL . 'images/taskboard_end_of_the_sprint.png';
            $images[] = AGILEMANTIS_PLUGIN_URL . 'images/taskboard_end_resolved_userstories_of_the_sprint.png';
            $images[] = AGILEMANTIS_PLUGIN_URL . 'images/taskboard_end_closed_userstories_of_the_sprint.png';
            ?>
		<h2><?php 
            echo plugin_lang_get('screenshot_title');
            ?>
</h2>
	<center>
		<a href="<?php