MantisBT
MantisBT

Mantis Bug Tracker是在GNU通用公共许可证第2版下发布的一个自由、开源的基于Web的缺陷跟踪管理系统。MantisBT最常见的用途是用来追踪软件缺陷。然而,MantisBT经常被用户配置成为一个更通用的问题跟踪系统和项目管理工具。

项目的名称Mantis(螳螂)和标志是指以抓捕其他昆虫(俗称“bugs”)而闻名的螳螂科昆虫。项目的名称通常缩写为MantisBT或Mantis。
摘自:Mantis 维基百科

本中文配置说明,基于2.1.0版。依照 config_defaults_inc.php 文件进行翻译。
翻译内容仅用于配置MantisBT程序。其中很大部分与原内容不一致,完全个人理想化翻译。

对于MantisBT的配置,可以根据需要,将config_defaults_inc.php配置项,存入/config/config_inc.php中,这样更灵活使用。

你可以直接下载附件,或者在本页面上,参考使用。

如果错误处,欢迎一同修订。

MantisBT 2.1.0 中文配置说明下载。

<?php
# MantisBT - A PHP based bugtracking system

# MantisBT is free software: you can redistribute it and/or modify
# 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/>.

/**
 * 默认配置变量
 *
 * 不建议修改此文件,如果要修改,请在 config/config_inc.php 文件中配置新值。
 * config_inc.php 中的值会覆盖原有值。
 *
 * 通常,值为 OFF 表示该功能被禁用,ON 表示功能已启用。
 * 其他情况都会有说明。
 *
 * 详情请参阅 https://www.mantisbt.org/docs/master/
 *
 * @package MantisBT
 * @copyright Copyright 2000 - 2002  Kenzaburo Ito - kenito@300baud.org
 * @copyright Copyright 2002  MantisBT Team - mantisbt-dev@lists.sourceforge.net
 * @link http://www.mantisbt.org
 */

##############################
# MantisBT 数据库设置 #
##############################

/**
 * 配置数据库服务器地址或连接字符串
 * 如,如果要连接本机的数据库服务器,则应该设置为 localhost。
 * 如果需要提供连接的端口,则应设置为 localhost:3306。
 * @global string $g_hostname
 */
$g_hostname                = 'localhost';
/**
 * 配置连接到数据库的用户名
 * 用户需要设置MantisBT 对数据库有读/写权限。默认用户为名 root。
 * @global string $g_db_username
 */
$g_db_username            = 'root';
/**
 * 指定数据库连接密码。
 * 默认密码为空。
 * @global string $g_db_password
 */
$g_db_password            = '';
/**
 * 数据库名称
 * 默认数据库名为 bugtracker。
 * @global string $g_database_name
 */
$g_database_name        = 'bugtracker';

/**
 * 定义数据库类型
 * 前提是必须启用相应PHP扩展!
 * 支持的类型有:
 *
 * 数据库          类型          PHP 扩展   说明
 * -----           -------       -------   --------
 * MySQL           mysqli        mysqli    默认
 *                 mysql         mysql     PHP < 5.5.0
 * PostgreSQL      pgsql         pgsql
 * MS SQL Server   mssqlnative   sqlsrv    实验
 * Oracle          oci8          oci8      实验
 *
 * @global string $g_db_type
 */
$g_db_type                = 'mysqli';

/**
 * adodb 数据源名称
 * 这是一个实验字段。
 * 上面的数据库配置如果不够灵活,你可以指定一个 dsn,
 * 相关信息参见 adodb 手册:http://phplens.com/adodb/code.initialization.html#dsnsupport。
 * 如果 db_type 为 odbc_mssql,则 dsn 为:
 * "Driver={SQL Server Native Client 10.0};SERVER=.\sqlexpress;DATABASE=bugtracker;UID=mantis;PWD=password;"
 * 注意:安装程序尚未完全支持使用 dsn。
 */
$g_dsn = '';

/**
 * 表前缀
 * 设置表前缀,即前缀后加下划线后面跟表名
 * 如 'bug' => 'mantis_bug'.
 * Oracle (< 12cR2)标识符长度不能超过 30 个字符
 * 应该设置前缀为空或尽可能短(如 前缀设置为 m)
 * @global string $g_db_table_prefix
 */
$g_db_table_prefix = 'mantis';

/**
 * 数据库表后缀。
 * 在表名后加后缀
 * 如 'bug' => 'bug_table'.
 * @see $g_db_table_prefix 长度限制
 * @global string $g_db_table_suffix
 */
$g_db_table_suffix = '_table';

/**
 * 插件表前缀
 * 给插件表增加前缀,如插件表 'foo' => 'mantis_plugin_Example_foo_table'。
 *
 * Oracle (< 12cR2)标识符长度不能超过 30 个字符,尽可能短(如 前缀设置为 plg)
 * 强烈建议不要为空!
 * @see $g_db_table_prefix
 * @global string $g_db_table_prefix
 */
$g_db_table_plugin_prefix    = 'plugin';

####################
# 文件夹位置 #
####################

/**
 * MantisBT 根路径,需要有 / 或 \
 * @global string $g_absolute_path
 */
$g_absolute_path = dirname( __FILE__ ) . DIRECTORY_SEPARATOR;

/**
 * core 目录位置,使用默认就行
 * 除非你将 core 目录移出 网站目录(推荐)。
 * @global string $g_core_path
 */
$g_core_path = $g_absolute_path . 'core' . DIRECTORY_SEPARATOR;

/**
 * 类文件夹路径,需要有 / 或 \
 * @global string $g_class_path
 */
$g_class_path = $g_core_path . 'classes' . DIRECTORY_SEPARATOR;

/**
 * 第三方库路径,需要有 / 或 \
 * @global string $g_library_path
 */
$g_library_path = $g_absolute_path . 'library' . DIRECTORY_SEPARATOR;

/**
 * 语言文件路径,需要有 / 或 \
 * @global string $g_language_path
 */
$g_language_path = $g_absolute_path . 'lang' . DIRECTORY_SEPARATOR;

/**
 * 自定义配置路径,需要有 / 或 \
 * 如果设置了 MANTIS_CONFIG_FOLDER 环境变量,这个允许 Apache vhost 设置多个实例。
 * @global string $g_config_path
 */
$t_local_config = getenv( 'MANTIS_CONFIG_FOLDER' );
if( $t_local_config && is_dir( $t_local_config ) ) {
    $g_config_path = $t_local_config;
} else {
    $g_config_path = $g_absolute_path . 'config' . DIRECTORY_SEPARATOR;
}

unset( $t_local_config );

##########################
# MantisBT 路径设置 #
##########################

$t_protocol = 'http';
$t_host = 'localhost';
if( isset ( $_SERVER['SCRIPT_NAME'] ) ) {
    if( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) ) {
        $t_protocol= $_SERVER['HTTP_X_FORWARDED_PROTO'];
    } else if( !empty( $_SERVER['HTTPS'] ) && ( strtolower( $_SERVER['HTTPS'] ) != 'off' ) ) {
        $t_protocol = 'https';
    }

    # $_SERVER['SERVER_PORT'] is not defined in case of php-cgi.exe
    if( isset( $_SERVER['SERVER_PORT'] ) ) {
        $t_port = ':' . $_SERVER['SERVER_PORT'];
        if( ( ':80' == $t_port && 'http' == $t_protocol )
          || ( ':443' == $t_port && 'https' == $t_protocol )) {
            $t_port = '';
        }
    } else {
        $t_port = '';
    }

    if( isset( $_SERVER['HTTP_X_FORWARDED_HOST'] ) ) { # Support ProxyPass
        $t_hosts = explode( ',', $_SERVER['HTTP_X_FORWARDED_HOST'] );
        $t_host = $t_hosts[0];
    } else if( isset( $_SERVER['HTTP_HOST'] ) ) {
        $t_host = $_SERVER['HTTP_HOST'];
    } else if( isset( $_SERVER['SERVER_NAME'] ) ) {
        $t_host = $_SERVER['SERVER_NAME'] . $t_port;
    } else if( isset( $_SERVER['SERVER_ADDR'] ) ) {
        $t_host = $_SERVER['SERVER_ADDR'] . $t_port;
    }

    if( !isset( $_SERVER['SCRIPT_NAME'] )) {
        echo 'Invalid server configuration detected. Please set $g_path manually in ' . $g_config_path . 'config_inc.php.';
        if( isset( $_SERVER['SERVER_SOFTWARE'] ) && ( stripos($_SERVER['SERVER_SOFTWARE'], 'nginx') !== false ) )
            echo ' Please try to add "fastcgi_param SCRIPT_NAME $fastcgi_script_name;" to the nginx server configuration.';
        die;
    }
    $t_self = filter_var( $_SERVER['SCRIPT_NAME'], FILTER_SANITIZE_STRING );
    $t_path = str_replace( basename( $t_self ), '', $t_self );
    switch( basename( $t_path ) ) {
        case 'admin':
            $t_path = rtrim( dirname( $t_path ), '/\\' ) . '/';
            break;
        case 'check':        # admin checks dir
        case 'soap':
            $t_path = rtrim( dirname( dirname( $t_path ) ), '/\\' ) . '/';
            break;
        case '':
            $t_path = '/';
            break;
    }
    if( strpos( $t_path, '&#' ) ) {
        echo 'Can not safely determine $g_path. Please set $g_path manually in ' . $g_config_path . 'config_inc.php';
        die;
    }
} else {
    $t_path = 'mantisbt/';
}

/**
 * 从浏览器中看到的路径
 * 必须有 /
 * @global string $g_path
 */
$g_path    = $t_protocol . '://' . $t_host . $t_path;

/**
 * 没有域名的短路径
 * 必须有 /
 * @global string $g_short_path
 */
$g_short_path = $t_path;

/**
 * 用于链接到用户手册
 * 可以是完整的 URL或 MantisBT 根目录的相对路径。
 * 如果相对路径不存在,则会使用 http://www.mantisbt.org 的在线文档。
 * 不对 URL 检查。
 * @global string $g_manual_url
 */
$g_manual_url = 'doc/en-US/Admin_Guide/html-desktop/';

##############
# Web 服务器 #
##############

/**
 * Session 处理程序,值有:
 *  'php' -> 默认PHP系统的 Session
 *  'adodb' -> 数据库存储 Session
 *  'memcached' -> Memcached 存储 Session
 * @global string $g_session_handler
 */
$g_session_handler = 'php';

/**
 * Session 存储路径,如果为 false,则使用PHP程序默认值。
 * @global bool $g_session_save_path
 */
$g_session_save_path = false;

/**
 * Session 验证
 * 警告:禁用可能造成潜在安全风险!
 * @global integer $g_session_validation
 */
$g_session_validation = ON;

/**
 * 表单安全验证
 * 这可以防止CSRF(跨站请求伪造),但某些代理服务器可能无法正常使用,因为它们缓存的页面不正确。
 * 警告:禁用将会造成安全风险!
 */
$g_form_security_validation = ON;

#############################
# 安全和密码 #
#############################

/**
 * MantisBT 用于加密的盐值,必须保密!
 * 你必须配置一个值,MantisBT 会生成一个随机的唯一的盐值。长度至少为 16 字符。
 *
 * 盐值使用随机数生成器生成长度字符串。Linux 系统下生成:
 *    cat /dev/urandom | head -c 64 | base64
 *
 * 注意,/dev/urandom 输出的每字节熵的位数不是8。
 * 如果你不介意等待很长时间,你可以使用 /dev/random 得到更接近8每字节的熵位。
 * 通过 /dev/random 生成熵时,移动鼠标(如果可能)将大大提高 /dev/random 产生熵的速度。
 *
 * 警告:此配置选项对 MantisBT 安装程序有深远影响。未正确配置,将造成安装异常。
 * 请确保此值保密,并与数据库密码复杂度一致。
 *
 * 此设置默认为空,MantisBT 将不会在此状态下运行。因此,您必须更改此选项的值。
 *
 * @global string $g_crypto_master_salt
 */
$g_crypto_master_salt = '';

############################
# 注册和忘记密码 #
############################

/**
 * 允许用户注册帐户,如果为 ON,则 $g_send_reset_password 也必须为 ON。
 * 并且必须正确设置邮件配置。
 * @see $g_send_reset_password
 * @global integer $g_allow_signup
 */
$g_allow_signup            = ON;

/**
 * 在锁定帐户之前使用错误密码登录次数。
 * 当锁定时,需要重置密码,每次成功登录时此值会重置为0。OFF以禁用此限制。
 * @global integer $g_max_failed_login_count
 */
$g_max_failed_login_count = OFF;

/**
 * 当新用户注册时通知级别
 * @global integer $g_notify_new_user_created_threshold_min
 */
$g_notify_new_user_created_threshold_min = ADMINISTRATOR;

/**
 * 如果为 ON,将在用户创建帐户或重置密码时发送邮件(这里正确配置邮件设置)。
 * 如果为 OFF,则管理员在创建新帐户时设置密码。并且在重置密码时将密码设置为空。
 * @global integer $g_send_reset_password
 */
$g_send_reset_password    = ON;

/**
 * 使用验证码 需要 GD库
 * @global integer $g_signup_use_captcha
 */
$g_signup_use_captcha    = ON;

/**
 * 系统字体路径
 * 关系图、工作流程图、MantisGraph 插件、TrueType-Font 文件目录
 * @global string $g_system_font_folder
 */
$g_system_font_folder    = '';

/**
 * 是否启用 忘记密码 功能
 * @global integer $g_lost_password_feature
 */
$g_lost_password_feature = ON;

/**
 * 忘记密码次数,当达到此值时将无法请求重置密码。
 * 每次登录成功后,此值将重置为 0。
 * @global integer $g_max_lost_password_in_progress_count
 */
$g_max_lost_password_in_progress_count = 3;

#############
# 反垃圾邮件 #
#############

/**
 * 注册时邮件通知最大次数,为 0 不限制。
 * @var integer
 * @see $g_default_new_account_access_level
 */
$g_antispam_max_event_count = 10;

/**
 * 时间内执行的最大通知数
 * @var integer
 */
$g_antispam_time_window_in_seconds = 3600;

###########################
# MantisBT 邮件配置 #
###########################

/**
 * 网站管理员电子邮件地址
 * 此地址被公开显示在所有页面底部,因此可能被抓取到被发送垃圾邮件。
 * @global string $g_webmaster_email
 */
$g_webmaster_email        = 'webmaster@example.com';

/**
 * 发件人地址
 * @global string $g_from_email
 */
$g_from_email            = 'noreply@example.com';

/**
 * 发件人姓名
 * @global string $g_from_name
 */
$g_from_name            = 'Mantis Bug Tracker';

/**
 * 回复邮件地址
 * @global string $g_return_path_email
 */
$g_return_path_email    = 'admin@example.com';

/**
 * 允许邮件通知
 * 是否开启邮件通知。ON 为启用 OFF 为禁用。
 * 禁用此项不会影响注册过程中发送的邮件通知。为 OFF 时密码重置功能被禁用。
 * 此外,管理员更新帐户的通知不会发送给用户。
 * @global integer $g_enable_email_notification
 */
$g_enable_email_notification    = ON;

/**
 * 启用后,将会发送完整通知,并在顶部显示更改类型,而不是使用专用通知。
 * 此设置会被用户自定义配置覆盖。
 *
 * @global integer $g_email_notifications_verbose
 */
$g_email_notifications_verbose = OFF;

/**
 * 以下2个配置项,允许控制在不同操作/状态下收到电子邮件通知。
 * default_notify_flags 为不同用户类别设置默认值,用户类别为:
 *
 *      'reporter': 报告员的 BUG
 *       'handler': 分配 BUG 时
 *       'monitor': 监视 BUG 的用户
 *      'bugnotes': 添加注释到 BUG 时
 *      'category': 类别所有者
 *      'explicit': 用户可见操作(如添加用户到监视列表)
 * 'threshold_max':所有用户权限 <= 最大
 * 'threshold_min': .. 和 >= 最小
 *
 * notify_flags 设置特定的覆盖动作/状态。如果未列出,则使用默认值。值有:
 *
 *             'new': 新增 BUG
 *           'owner': BUG 被分配
 *        'reopened': BUG 被重新打开
 *         'deleted': BUG 被删除
 *         'updated': BUG 被更新
 *         'bugnote': 注释添加到 BUG中
 *         'sponsor': BUG 创建人修改 BUG
 *        'relation': BUG 关系改变
 *         'monitor': 被监视
 *        '<status>': 如 'resolved', 'closed', 'feedback', 'acknowledged',等等
 *                     列表值对应于 $g_status_enum_string
 *
 * 如果你想让所有开发人员在新增BUG时收到通知,你可以配置以下:
 *
 * $g_notify_flags['new']['threshold_min'] = DEVELOPER;
 * $g_notify_flags['new']['threshold_max'] = DEVELOPER;
 *
 * 经理在关闭 BUG时,不通知 BUG 报告者,你可以这样:
 *
 * $g_notify_flags['closed']['reporter'] = OFF;
 *
 * @global array $g_default_notify_flags
 */

$g_default_notify_flags = array(
    'reporter'      => ON,
    'handler'       => ON,
    'monitor'       => ON,
    'bugnotes'      => ON,
    'category'      => ON,
    'explicit'      => ON,
    'threshold_min' => NOBODY,
    'threshold_max' => NOBODY
);

/**
 * 我们不需要发送新 BUG 通知
 * (参见上面关于此配置项)
 * @todo (though I'm not sure they need to be turned off anymore
 *      - there just won't be anyone in those categories)
 *      I guess it serves as an example and a placeholder for this
 *      config option
 * @see $g_default_notify_flags
 * @global array $g_notify_flags
 */
$g_notify_flags['new'] = array(
    'bugnotes' => OFF,
    'monitor'  => OFF
);

$g_notify_flags['monitor'] = array(
    'reporter'      => OFF,
    'handler'       => OFF,
    'monitor'       => OFF,
    'bugnotes'      => OFF,
    'explicit'      => ON,
    'threshold_min' => NOBODY,
    'threshold_max' => NOBODY
);

/**
 * 用户是否收到自己操作的邮件
 * @global integer $g_email_receive_own
 */
$g_email_receive_own = OFF;

/**
 * 邮件地址验证
 *
 * 确定是否验证电子邮件地址
 * - 默认为 ON,则验证规则由 HTML5 标签验证。
 *   {@link http://www.w3.org/TR/html5/forms.html#valid-e-mail-address}
 * - OFF 时,关闭验证
 *
 * 注意,当使用 LDAP 电子邮件时(即 $g_use_ldap_email = ON),验证不会执行。
 * @see $g_use_ldap_email
 *
 * @global integer $g_validate_email
 */
$g_validate_email = ON;

/**
 * 是否启用电子邮件密码登录
 *
 * @global integer $g_email_login_enabled
 */
$g_email_login_enabled = OFF;

/**
 * 确保电子邮件地址是唯一的
 *
 * @global integer $g_email_ensure_unique
 */
$g_email_ensure_unique = ON;

/**
 * 设置为 OFF 来禁用电子邮件检查
 * @global integer $g_check_mx_record
 */
$g_check_mx_record = OFF;

/**
 * 如果为 ON,则允许用户忽略电子邮件字段
 * 如果您允许用户注册,则无论此值多少,都需要指定电子邮件,否则他们不会得到他们的密码。
 * @global integer $g_allow_blank_email
 */
$g_allow_blank_email = ON;

/**
 * 只允许发送到指定域
 * 示例:
 * $g_limit_email_domains        = array( 'users.sourceforge.net', 'sourceforge.net' );
 * @global array $g_limit_email_domains
 */
$g_limit_email_domains = array();

/**
 * 指定获取 mailto: 链接所需访问级别
 * @global integer $g_show_user_email_threshold
 */
$g_show_user_email_threshold = NOBODY;

/**
 * 指定用户视图上查看实名所需访问级别
 * @global integer $g_show_user_realname_threshold
 */
$g_show_user_realname_threshold = NOBODY;

/**
 * 选择发送方式:
 * PHPMAILER_METHOD_MAIL - mail()
 * PHPMAILER_METHOD_SENDMAIL - sendmail
 * PHPMAILER_METHOD_SMTP - SMTP
 * @global integer $g_phpMailer_method
 */
$g_phpMailer_method = PHPMAILER_METHOD_MAIL;

/**
 * 远程 SMTP 主机
 * 多个主机名间用;分隔
 * 你可以为每个主机指定端口,使用格式:
 * [主机地址:端口] (如 "smtp1.example.com:25;smtp2.example.com").
 * 将按指定顺序连接主机
 * 注意:这仅适用于 PHPMAILER_METHOD_SMTP
 * @see $g_smtp_port
 * @global string $g_smtp_host
 */
$g_smtp_host = 'localhost';

/**
 * SMTP 服务器认证用户
 * 如果主机不需要验证,请设置为空
 * @see $g_smtp_password
 * @global string $g_smtp_username
 */
$g_smtp_username = '';

/**
 * SMTP 服务器认证密码
 * Not used when $g_smtp_username = ''
 * @see $g_smtp_username
 * @global string $g_smtp_password
 */
$g_smtp_password = '';

/**
 * 允许与 SMTP 服务器的安全连接
 * 有效值为空,则为不加密,值 'ssl' 或 'tls'
 * @global string $g_smtp_connection_mode
 */
$g_smtp_connection_mode = '';

/**
 * 默认 SMTP 端口
 * 常用端口是 25 和 587.
 * 这可针对指定主机单独覆盖。
 * @see $g_smtp_host
 * @global integer $g_smtp_port
 */
$g_smtp_port = 25;

/**
 * 建议使用 cronjob 或调度程序来发送电子邮件。cronjob 通常每5分钟运行一次。
 * 如果没有 cronjob,则用户不得不在执行触发通知动作后发送电子邮件,这会降低用户体验。
 * @global integer $g_email_send_using_cronjob
 */
$g_email_send_using_cronjob = OFF;

/**
 * 电子邮件分隔符和填充
 * @global string $g_email_separator1
 */
$g_email_separator1 = str_pad('', 70, '=');
/**
 * 电子邮件分隔符和填充
 * @global string $g_email_separator2
 */
$g_email_separator2 = str_pad('', 70, '-');
/**
 * 电子邮件分隔符和填充
 * @global integer $g_email_padding_length
 */
$g_email_padding_length    = 28;

###########################
# MantisBT 版本信息 #
###########################

/**
 * 默认为 OFF,不向用户展示版本信息
 * @global integer $g_show_version
 */
$g_show_version = OFF;

/**
 * MantisBT 版本附加信息
 * @global string $g_version_suffix
 */
$g_version_suffix = '';

/**
 * 自定义版权和许可声明,用于在页面底部显示。
 * 内容在<address> 元素中,你必须使用 &amp; 代替 &。
 * @global string $g_copyright_statement
 */
$g_copyright_statement = '';

##############################
# MantisBT 语言设置 #
##############################

/**
 * 如果设置为 auto,则,自动判断语言(根据浏览器语言首选项)
 * @global string $g_default_language
 */
$g_default_language = 'auto';

/**
 * 列出允许用户选择的语言列表
 * @global array $g_language_choices_arr
 */
$g_language_choices_arr = array(
    'auto',
    'afrikaans',
    'amharic',
    'arabic',
    'arabicegyptianspoken',
    'asturian',
    'belarusian_tarask',
    'breton',
    'bulgarian',
    'catalan',
    'chinese_simplified',
    'chinese_traditional',
    'croatian',
    'czech',
    'danish',
    'dutch',
    'english',
    'estonian',
    'finnish',
    'french',
    'galician',
    'german',
    'greek',
    'hebrew',
    'hungarian',
    'icelandic',
    'interlingua',
    'italian',
    'japanese',
    'korean',
    'latvian',
    'lithuanian',
    'macedonian',
    'norwegian_bokmal',
    'norwegian_nynorsk',
    'occitan',
    'polish',
    'portuguese_brazil',
    'portuguese_standard',
    'ripoarisch',
    'romanian',
    'russian',
    'serbian',
    'slovak',
    'slovene',
    'spanish',
    'swissgerman',
    'swedish',
    'tagalog',
    'turkish',
    'ukrainian',
    'urdu',
    'vietnamese',
    'volapuk',
);

/**
 * 设置 auto 时,浏览器语言映射
 * @global array $g_language_auto_map
 */
$g_language_auto_map = array(
    'af' => 'afrikaans',
    'am' => 'amharic',
    'ar' => 'arabic',
    'arz' => 'arabicegyptianspoken',
    'ast' => 'asturian',
    'be-tarask' => 'belarusian_tarask',
    'bg' => 'bulgarian',
    'br' => 'breton',
    'ca' => 'catalan',
    'zh-cn, zh-sg, zh' => 'chinese_simplified',
    'zh-hk, zh-tw' => 'chinese_traditional',
    'cs' => 'czech',
    'da' => 'danish',
    'nl-be, nl' => 'dutch',
    'en-us, en-gb, en-au, en' => 'english',
    'et' => 'estonian',
    'fi' => 'finnish',
    'fr-ca, fr-be, fr-ch, fr' => 'french',
    'gl' => 'galician',
    'gsw' => 'swissgerman',
    'de-de, de-at, de-ch, de' => 'german',
    'he' => 'hebrew',
    'hu' => 'hungarian',
    'hr' => 'croatian',
    'is' => 'icelandic',
    'ia' => 'interlingua',
    'it-ch, it' => 'italian',
    'ja' => 'japanese',
    'ko' => 'korean',
    'ksh' => 'ripoarisch',
    'lt' => 'lithuanian',
    'lv' => 'latvian',
    'mk' => 'macedonian',
    'no' => 'norwegian_bokmal',
    'nn' => 'norwegian_nynorsk',
    'oc' => 'occitan',
    'pl' => 'polish',
    'pt-br' => 'portuguese_brazil',
    'pt' => 'portuguese_standard',
    'ro-mo, ro' => 'romanian',
    'ru-mo, ru-ru, ru-ua, ru' => 'russian',
    'sr' => 'serbian',
    'sk' => 'slovak',
    'sl' => 'slovene',
    'es-mx, es-co, es-ar, es-cl, es-pr, es' => 'spanish',
    'sv-fi, sv' => 'swedish',
    'tl' => 'tagalog',
    'tr' => 'turkish',
    'uk' => 'ukrainian',
    'vi' => 'vietnamese',
    'vo' => 'volapuk',
);

/**
 * 备用语言选择
 * @global string $g_fallback_language
 */
$g_fallback_language = 'english';

#############################
# MantisBT 显示设置 #
#############################

/**
 * 浏览器标题
 * @global string $g_window_title
 */
$g_window_title = 'MantisBT';

/**
 * OpenSearch 引擎标题前缀
 * 用于描述浏览器搜索条目,尽可能短,以便插入到 'opensearch_XXX_short' 语言字符串中,生成的文本为 16 字符或更少,
 * 以符合 OpenSearch 中定义的ShortName 元素限制规范。
 * @link http://www.opensearch.org/Specifications/OpenSearch/1.1
 * @see $g_window_title
 * @global string $g_search_title
 */
$g_search_title = '%window_title%';

/**
 * 检查管理目录、数据库升级等
 * @global integer $g_admin_checks
 */
$g_admin_checks = ON;

/**
 * Favicon 图像
 * 图标为 image/x-icon MIME 类型,大小 16*16像素。
 * @global string $g_favicon_image
 */
$g_favicon_image = 'images/favicon.ico';

/**
 * Logo
 * @global string $g_logo_image
 */
$g_logo_image = 'images/mantis_logo.png';

/**
 * Logo URL 链接
 * @global string $g_logo_url
 */
$g_logo_url = '%default_home_page%';

/**
 * 是否启用项目文档支持
 * 此功能已弃用,预计将移到插件中。
 * @see $g_view_proj_doc_threshold
 * @see $g_upload_project_file_threshold
 * @global integer $g_enable_project_documentation
 */
$g_enable_project_documentation = OFF;

/**
 * 在底部显示菜单,顶部菜单仍会保留。
 * @global integer $g_show_footer_menu
 */
$g_show_footer_menu = OFF;

/**
 * 显示额外的菜单栏与所有可用的项目
 * @global integer $g_show_project_menu_bar
 */
$g_show_project_menu_bar = OFF;

/**
 * 显示分配的名称
 * 这是查看所有页面
 * @global integer $g_show_assigned_names
 */
$g_show_assigned_names = ON;

/**
 * 将优先级显示为图标
 * OFF: 优先级显示为图标
 * ON:  优先级显示为文本
 * @global integer $g_show_priority_text
 */
$g_show_priority_text = OFF;

/**
 * 定义错误显示级别,-1 禁用错误显示
 * @global integer $g_priority_significant_threshold
 */
$g_priority_significant_threshold = HIGH;

/**
 * 定义错误严重性级别,-1 禁用该功能
 * @global integer $g_severity_significant_threshold
 */
$g_severity_significant_threshold = MAJOR;

/**
 * 在“查看问题页”中包含默认的列。

 * 它可以被重写,可以使用管理 - >管理配置 - >管理列来覆盖;用户可以使用我的帐户 - >管理列配置自己的列。
 * 如果这里指定的某些列与其他配置冲突,可以自动删除。
 * 或者,如果当前用户没有必要的访问级别来查看它们。
 * 例如,如果赞助者已停用,则将移除sponsorship_total。 要包括自定义字段“xyz”,请将列名称包含为“custom_xyz”。
 *
 * 标准列名称(以下可供选择):
 * id, project_id, reporter_id, handler_id, duplicate_id, priority, severity,
 * reproducibility, status, resolution, category_id, date_submitted, last_updated,
 * os, os_build, platform, version, fixed_in_version, target_version, view_state,
 * summary, sponsorship_total, due_date, description, steps_to_reproduce,
 * additional_info, attachment_count, bugnotes_count, selection, edit,
 * overdue
 *
 * @global array $g_view_issues_page_columns
 */
$g_view_issues_page_columns = array (
    'selection', 'edit', 'priority', 'id', 'sponsorship_total',
    'bugnotes_count', 'attachment_count', 'category_id', 'severity', 'status',
    'last_updated', 'summary'
);

/**
 * 在打印问题页中包含的默认列。
 * 它可以被重写,使用管理-管理配置-管理列。用户可以配置自己使用我的账户-> 管理列。
 * @global array $g_print_issues_page_columns
 */
$g_print_issues_page_columns = array (
    'selection', 'priority', 'id', 'sponsorship_total', 'bugnotes_count',
    'attachment_count', 'category_id', 'severity', 'status', 'last_updated',
    'summary'
);

/**
 * CSV导出时默认列。
 * 使用管理 ->管理配置 ->管理列覆盖。此外,用户都可以使用我的帐户 -> 管理列配置自己的列。
 * @global array $g_csv_columns
 */
$g_csv_columns = array (
    'id', 'project_id', 'reporter_id', 'handler_id', 'priority',
    'severity', 'reproducibility', 'version', 'projection', 'category_id',
    'date_submitted', 'eta', 'os', 'os_build', 'platform', 'view_state',
    'last_updated', 'summary', 'status', 'resolution', 'fixed_in_version'
);

/**
 * Excel 导出默认列。
 * 使用管理 ->管理配置 ->管理列覆盖。此外,用户都可以使用我的帐户 -> 管理列配置自己的列。
 * @global array $g_excel_columns
 */
$g_excel_columns = array (
    'id', 'project_id', 'reporter_id', 'handler_id', 'priority', 'severity',
    'reproducibility', 'version', 'projection', 'category_id',
    'date_submitted', 'eta', 'os', 'os_build', 'platform', 'view_state',
    'last_updated', 'summary', 'status', 'resolution', 'fixed_in_version'
);

/**
 * 在“所有项目”模式下显示项目
 * @global integer $g_show_bug_project_links
 */
$g_show_bug_project_links = ON;

/**

 * 显示BUG图例。
 * 包含错误状态 x% 新BUG,y% 分配的。如果设置为 ON,将在图例下显示。
 * @global integer $g_status_percentage_legend
 */
$g_status_percentage_legend = OFF;

/**
 * 过滤框显示位置: POSITION_*
 * POSITION_TOP, POSITION_BOTTOM, 或 POSITION_NONE , 无
 * @global integer $g_filter_position
 */
$g_filter_position = FILTER_POSITION_TOP;

/**
 * 查看问题时操作按钮的位置。
 * 值有:POSITION_TOP, POSITION_BOTTOM, 或 POSITION_BOTH
 * @global integer $g_action_button_position
 */
$g_action_button_position = POSITION_BOTTOM;

/**
 * 在创建、查看、更新界面显示产品版本
 * ON 即使没有定义也会显示
 * OFF 不显示
 * AUTO 如果没有定义项目版本,则不显示,否则显示
 * @global integer $g_show_product_version
 */
$g_show_product_version = AUTO;

/**
 * 用户看到产品版本发布日期的访问级别阈值。
 * 日期将显示在产品版本旁边,目标版本并固定在版本字段中。 将此阈值设置为NOBODY以禁用该功能。
 * @global integer $g_show_version_dates_threshold
 */
$g_show_version_dates_threshold = NOBODY;

/**
 * 显示用户真实姓名
 * @global integer $g_show_realname
 */
$g_show_realname = OFF;

/**
 * 现在离开
 * @global integer $g_differentiate_duplicates
 */
$g_differentiate_duplicates = OFF;

/**
 * 下拉列表名称排序,如果打开,将按名称排序。
 * with the "D"s
 * @global integer $g_sort_by_last_name
 */
$g_sort_by_last_name = OFF;

/**
 * 显示用户头像
 * @global integer $g_show_avatar
 * @see $g_show_avatar_threshold
 */
$g_show_avatar = OFF;

/**
 * 超出此值用户才会显示头像
 * @global integer $g_show_avatar_threshold
 */
$g_show_avatar_threshold = DEVELOPER;

/**
 * 在修改日志上显示发布日期
 * @global integer $g_show_changelog_dates
 */
$g_show_changelog_dates = ON;

/**
 * 在路线图上显示发布日期
 * @global integer $g_show_roadmap_dates
 */
$g_show_roadmap_dates = ON;

##########################
# MantisBT 时间设置 #
##########################

/**
 * Cookie 过期时间
 * @global integer $g_cookie_time_length
 */
$g_cookie_time_length = 30000000;

/**
 * 允许用户选择永久 cookie
 * 登录时,选中“在该浏览器保存我的登录状态”时
 * @see $g_cookie_time_length
 * @global integer $g_allow_permanent_cookie
 */
$g_allow_permanent_cookie = ON;

/**
 * 页面超时时间
 * 如果为 0,则不限制执行时间。(单位:秒)
 * @global integer $g_long_process_timeout
 */
$g_long_process_timeout = 0;

##########################
# MantisBT 日期设置 #
##########################

/**
 * 短日期格式 默认为ISO 8601格式。
 * 有关日期格式的详细说明
 * @see https://secure.php.net/manual/zh/function.date.php
 * @global string $g_short_date_format
 */
$g_short_date_format = 'Y-m-d';

/**
 * 标准日期格式 默认为ISO 8601格式。
 * 有关日期格式的详细说明
 * @see https://secure.php.net/manual/zh/function.date.php
 * @global string $g_normal_date_format
 */
$g_normal_date_format = 'Y-m-d H:i';

/**
 * 完成日期格式 默认为ISO 8601格式。
 * 有关日期格式的详细说明
 * @see https://secure.php.net/manual/zh/function.date.php
 * @global string $g_complete_date_format
 */
$g_complete_date_format = 'Y-m-d H:i T';

/**
 * 日期时间选择器
 * 有关日期格式的详细说明
 * @see http://momentjs.com/docs/#/displaying/format/
 * @global string $g_datetime_picker_format
 */
$g_datetime_picker_format = 'Y-MM-DD HH:mm';


##############################
# MantisBT 时区设置 #
##############################

/**
 * 默认时区
 *
 * 此配置通常在安装时,用于初始化。值有:
 * {@link http://php.net/timezones List of Supported Timezones}.
 * 如果此配置为空,时区将通过调用进行初始化
 * {@link http://php.net/date-default-timezone-get date_default_timezone_get()}
 *(注意这个函数的行为在PHP 5.4.0中修改),如果无法确定时区,它将使用“UTC”。
 * 可以通过运行管理检查来确认此变量的正确配置。
 * 用户可以在其首选项下覆盖默认时区。
 *
 * @global string $g_default_timezone
 */
$g_default_timezone = '';

##########################
# MantisBT 新闻设置 #
##########################

/**
 * 是否启用新闻功能
 * 此功能已弃用,预计会移入插件中.
 */
$g_news_enabled = OFF;

/**
 * 限制新闻数量
 * 限制条目数或日期
 * BY_LIMIT - 限制条目数
 * BY_DATE - 限制日期
 * @global integer $g_news_limit_method
 */
$g_news_limit_method = BY_LIMIT;

/**
 * 限制条目数
 * @global integer $g_news_view_limit
 */
$g_news_view_limit = 7;

/**
 * 限制天数
 * @global integer $g_news_view_limit_days
 */
$g_news_view_limit_days = 30;

/**
 * 用于查看私人消息权限
 * @global integer $g_private_news_threshold
 */
$g_private_news_threshold = DEVELOPER;

################################
# MantisBT 默认首选项 #
################################

/**
 * 注册默认
 * 查看 constant_inc.php 中定义
 * @global integer $g_default_new_account_access_level
 */
$g_default_new_account_access_level = REPORTER;

/**
 * 默认项目视图状态 (VS_PUBLIC 或 VS_PRIVATE)
 * @global integer $g_default_project_view_status
 */
$g_default_project_view_status = VS_PUBLIC;

/**
 * 默认BUG 视图状态 (VS_PUBLIC 或 VS_PRIVATE)
 * @global integer $g_default_bug_view_status
 */
$g_default_bug_view_status = VS_PUBLIC;

/**
 * 重现步骤/注释默认值。
 * @global string $g_default_bug_steps_to_reproduce
 */
$g_default_bug_steps_to_reproduce = '';

/**
 * 附加信息字段的默认值。
 * @global string $g_default_bug_additional_info
 */
$g_default_bug_additional_info = '';

/**
 * 默认注释视图状态 (VS_PUBLIC 或 VS_PRIVATE)
 * @global integer $g_default_bugnote_view_status
 */
$g_default_bugnote_view_status = VS_PUBLIC;

/**
 * 报告新错误时的默认错误解决方式
 * @global integer $g_default_bug_resolution
 */
$g_default_bug_resolution = OPEN;

/**
 * 报告新错误时的默认错误严重性
 * @global integer $g_default_bug_severity
 */
$g_default_bug_severity = MINOR;

/**
 * 报告新错误时的默认错误优先级
 * @global integer $g_default_bug_priority
 */
$g_default_bug_priority = NORMAL;

/**
 * 报告新错误时的默认错误重现方式
 * @global integer $g_default_bug_reproducibility
 */
$g_default_bug_reproducibility = REPRODUCIBILITY_HAVENOTTRIED;

/**
 * 报告新错误时的默认处理方式
 * @global integer $g_default_bug_projection
 */
$g_default_bug_projection = PROJECTION_NONE;

/**
 * 报告新错误时的默认估计完成时间
 * @global integer $g_default_bug_eta
 */
$g_default_bug_eta = ETA_NONE;

/**
 * 克隆时,新bug与其父级之间的默认关系
 * @global integer $g_default_bug_relationship_clone
 */
$g_default_bug_relationship_clone = BUG_REL_NONE;

/**
 * 默认为新的bug关系
 * @global integer $g_default_bug_relationship
 */
$g_default_bug_relationship = BUG_RELATED;

/**
 * 将 BUG 从项目中移到无类别时,默认全局类型,默认为1,将在数据中创建常规类别。
 */
$g_default_category_for_moves = 1;

/**
 *
 * @global integer $g_default_limit_view
 */
$g_default_limit_view = 50;

/**
 *
 * @global integer $g_default_show_changed
 */
$g_default_show_changed = 6;

/**
 *
 * @global integer $g_hide_status_default
 */
$g_hide_status_default = CLOSED;

/**
 *
 * @global string $g_show_sticky_issues
 */
$g_show_sticky_issues = ON;

/**
 * 操作间隔(分钟)
 * @global integer $g_min_refresh_delay
 */
$g_min_refresh_delay = 10;

/**
 * 分钟
 * @global integer $g_default_refresh_delay
 */
$g_default_refresh_delay = 30;

/**
 * 秒
 * @global integer $g_default_redirect_delay
 */
$g_default_redirect_delay = 2;

/**
 *
 * @global string $g_default_bugnote_order
 */
$g_default_bugnote_order = 'ASC';

/**
 *
 * @global integer $g_default_email_on_new
 */
$g_default_email_on_new = ON;

/**
 *
 * @global integer $g_default_email_on_assigned
 */
$g_default_email_on_assigned = ON;

/**
 *
 * @global integer $g_default_email_on_feedback
 */
$g_default_email_on_feedback = ON;

/**
 *
 * @global integer $g_default_email_on_resolved
 */
$g_default_email_on_resolved = ON;

/**
 *
 * @global integer $g_default_email_on_closed
 */
$g_default_email_on_closed = ON;

/**
 *
 * @global integer $g_default_email_on_reopened
 */
$g_default_email_on_reopened = ON;

/**
 *
 * @global integer $g_default_email_on_bugnote
 */
$g_default_email_on_bugnote = ON;

/**
 * @todo Unused
 * @global integer $g_default_email_on_status
 */
$g_default_email_on_status = 0;

/**
 * @todo Unused
 * @global integer $g_default_email_on_priority
 */
$g_default_email_on_priority = 0;

/**
 * 任意
 * @global integer $g_default_email_on_new_minimum_severity
 */
$g_default_email_on_new_minimum_severity = OFF;

/**
 * 任意
 * @global integer $g_default_email_on_assigned_minimum_severity
 */
$g_default_email_on_assigned_minimum_severity = OFF;

/**
 * 任意
 * @global integer $g_default_email_on_feedback_minimum_severity
 */
$g_default_email_on_feedback_minimum_severity = OFF;

/**
 * 任意
 * @global integer $g_default_email_on_resolved_minimum_severity
 */
$g_default_email_on_resolved_minimum_severity = OFF;

/**
 * 任意
 * @global integer $g_default_email_on_closed_minimum_severity
 */
$g_default_email_on_closed_minimum_severity = OFF;

/**
 * 任意
 * @global integer $g_default_email_on_reopened_minimum_severity
 */
$g_default_email_on_reopened_minimum_severity = OFF;

/**
 * 任意
 * @global integer $g_default_email_on_bugnote_minimum_severity
 */
$g_default_email_on_bugnote_minimum_severity = OFF;

/**
 * 任意
 * @global integer $g_default_email_on_status_minimum_severity
 */
$g_default_email_on_status_minimum_severity = OFF;

/**
 * @todo 未使用
 * @global integer $g_default_email_on_priority_minimum_severity
 */
$g_default_email_on_priority_minimum_severity = OFF;

/**
 *
 * @global integer $g_default_email_bugnote_limit
 */
$g_default_email_bugnote_limit = 0;

#############################
# MantisBT 摘要设置 #
#############################

/**
 * 显示多少个报告者
 * @global integer $g_reporter_summary_limit
 */
$g_reporter_summary_limit = 10;

/**
 * 摘要时期显示长度
 * 以计算错误(单位:天)
 * @global array $g_date_partitions
 */
$g_date_partitions = array( 1, 2, 3, 7, 30, 60, 90, 180, 365);

/**
 * 当前选择“所有项目”时显示“[项目]类别”,否则只显示“类别名称”
 * @global integer $g_summary_category_include_project
 */
$g_summary_category_include_project = OFF;

/**
 * 查看摘要权限
 * @global integer $g_view_summary_threshold
 */
$g_view_summary_threshold = MANAGER;

/**
 * 定义根据BUG严重性确定报告者报告BUG有效性。
 * 更高的值将导致BUG有效性增加。
 * @global array $g_severity_multipliers
 */
$g_severity_multipliers = array(
    FEATURE => 1,
    TRIVIAL => 2,
    TEXT    => 3,
    TWEAK   => 2,
    MINOR   => 5,
    MAJOR   => 8,
    CRASH   => 8,
    BLOCK   => 10
);

/**
 * 定义根据错误解决者来确定报告BUG有效性。更高的值将造成BUG有效性降低。
 * $g_bug_resolution_not_fixed_threshold.
 * @global array $g_resolution_multipliers
 */
$g_resolution_multipliers = array(
    UNABLE_TO_DUPLICATE => 2,
    NOT_FIXABLE         => 1,
    DUPLICATE           => 3,
    NOT_A_BUG           => 5,
    SUSPENDED           => 1,
    WONT_FIX            => 1
);

#############################
# MantisBT 注释设置 #
#############################

/**
 * 注释排序
 * 值有:ASC 或 DESC
 * @global string $g_bugnote_order
 */
$g_bugnote_order = 'DESC';

#################################
# MantisBT BUG 历史记录设置 #
#################################

/**
 * 默认情况下,当查看BUG时,错误历史可见
 * 值有:ON 或 OFF
 * @global integer $g_history_default_visible
 */
$g_history_default_visible = ON;

/**
 * BUG历史排序
 * 值有:ASC 或 DESC
 * @global string $g_history_order
 */
$g_history_order = 'ASC';

##########################################
# MantisBT 提醒和提及设置 #
##########################################

/**
 * 注释存储时提醒
 * @global integer $g_store_reminders
 */
$g_store_reminders = ON;

/**
 * 自动添加收件人到监视列表
 * 如果他们不是该处理者或报告者(将会得到提醒),
 * 如果收件人低于通知级别,将不会添加。
 * @global integer $g_reminder_recipients_monitor_bug
 */
$g_reminder_recipients_monitor_bug = ON;

/**
 * 默认提醒查看状态 (VS_PUBLIC 或 VS_PRIVATE)
 * @global integer $g_default_reminder_view_status
 */
$g_default_reminder_view_status = VS_PUBLIC;

/**
 * 接收提醒的用户列表中最低级别。该级别是项目访问级别。
 * @global integer $g_reminder_receive_threshold
 */
$g_reminder_receive_threshold = DEVELOPER;

/**
 * 启用/禁用 @提到 功能
 *
 * @global integer $g_mentions_enabled
 */
$g_mentions_enabled = ON;

/**
 * 用于提到标记。
 * @var string $g_mentions_tag
 */
$g_mentions_tag = '@';

#################################
# MantisBT 赞助设置 #
#################################

/**
 * 是否启用/禁用问题赞助功能
 * @global integer $g_enable_sponsorship
 */
$g_enable_sponsorship = OFF;

/**
 * 用于赞助所用货币
 * @global string $g_sponsorship_currency
 */
$g_sponsorship_currency = 'US$';

/**
 * 用户查看总赞助,所需级别
 * @global integer $g_view_sponsorship_total_threshold
 */
$g_view_sponsorship_total_threshold = VIEWER;

/**
 * 查看赞助列表用户所需级别及赞助金额。
 * @global integer $g_view_sponsorship_details_threshold
 */
$g_view_sponsorship_details_threshold = VIEWER;

/**
 * 达此此级别,才允许用户赞助问题
 * @global integer $g_sponsor_threshold
 */
$g_sponsor_threshold = REPORTER;

/**
 * 处理赞助问题级别
 * @global integer $g_handle_sponsored_bugs_threshold
 */
$g_handle_sponsored_bugs_threshold = DEVELOPER;

/**
 * 访问级别 >= 'handle_sponsored_bugs_threshold' 分配赞助问题
 * @global integer $g_assign_sponsored_bugs_threshold
 */
$g_assign_sponsored_bugs_threshold = MANAGER;

/**
 * 最低赞助金额。如果小于此值,将会提示错误
 * @global integer $g_minimum_sponsorship_amount
 */
$g_minimum_sponsorship_amount = 5;

#################################
# MantisBT 上传文件配置 #
#################################

/**
 * --- 上传文件配置 --------
 * 这是禁用文件上传的总配置
 *
 * 如果您要允许文件上传,您还必须确保它们 php.ini 中 file_uploads = TRUE
 *
 * 查看: $g_upload_project_file_threshold, $g_upload_bug_file_threshold,
 *   $g_allow_reporter_upload
 * @global integer $g_allow_file_upload
 */
$g_allow_file_upload = ON;

/**
 * 上传文件到
 * DISK 或 DATABASE. FTP 已弃用,将直接上传到 DISK
 * @global integer $g_file_upload_method
 */
$g_file_upload_method = DATABASE;

/**
 * 使用 dropzone:启用拖放到文件上传区域功能
 * @global integer $g_dropzone_enabled
 */
$g_dropzone_enabled = ON;

/**
 * 当使用DISK存储上传的文件时,此设置控制其在Web服务器上的访问权限:
 * 默认值(0400)文件将是只读的,
 * 并且只能由运行apache进程的用户访问(在Linux中可能是“apache”,在Windows中可能是“Administrator”)。

 * 有关unix权限的更多详细信息:
 * http://www.perlfect.com/articles/chmod.shtml
 * @global integer $g_attachments_file_permissions
 */
$g_attachments_file_permissions = 0400;

/**
 * 可上传文件大小上限
 * 也检查你的PHP设置(默认通常是2MB)
 * @global integer $g_max_file_size
 */
$g_max_file_size = 5000000;

/**
 * 同时上传文件数量上限
 * @global integer $g_file_upload_max_num
 */
$g_file_upload_max_num = 10;

/**
 * 允许或不允许的文件。 用逗号分隔项目。
 * 如 'php,html,java,exe,pl'
 * $g_allowed_files 有值,则其他类型不允许上传
 * $g_disallowed_files takes precedence over $g_allowed_files
 * @global string $g_allowed_files
 */
$g_allowed_files = '';

/**
 * 禁止上传的文件
 * @global string $g_disallowed_files
 */
$g_disallowed_files = '';

/**
 * 前缀用于上传文件到项目的文件名称。
 * 如: doc-001-myprojdoc.zip
 * @global string $g_document_files_prefix
 * @deprecated since 1.0, file names have been stored in a new format
 */
$g_document_files_prefix = 'doc';

/**
 * 默认上传文件夹的绝对路径。需要有 / 或 \
 * @global string $g_absolute_path_default_upload_folder
 */
$g_absolute_path_default_upload_folder = '';

/**
 * 启用 X-Sendfile 方式下载文件
 * 支持这个方式的服务器软件包括 Lighttpd、Cherokee及Apache 启用 mod_xsendfile 和 nginx。
 * 你可能需要设置 file_download_xsendfile_header_name 选项在你的服务器。
 * @global integer $g_file_download_method
 */
$g_file_download_xsendfile_enabled = OFF;

/**
 * 需要使用 X-Sendfile 头名称。
 * 每个服务器使用不同的头以实现此功能,因此命名约定不同。
 * Lighttpd从v1.5,Apache与mod_xsendfile和Cherokee Web服务器使用X-Sendfile。
 * nginx使用X-Accel-Redirect和Lighttpd v1.4使用X-LIGHTTPD-send-file。
 * @global string $g_file_download_xsendfile_header_name
 */
$g_file_download_xsendfile_header_name = 'X-Sendfile';

##########################
# MantisBT HTML 设置 #
##########################

/**
 * 将 URL 和电子邮件地址转换为 HTML 链接。
 * 此标记控制是否将 URL 和电子邮件地址转换为可以点击的链接。
 *
 * 选项有:
 * - OFF               不转换
 * - LINKS_SAME_WINDOW 转换链接到当前窗口 (默认)
 * - LINKS_NEW_WINDOW  转换链接到新窗口
 * @global integer $g_html_make_links
 */
$g_html_make_links = LINKS_SAME_WINDOW;

/**
 * 这些是多行字段的有效 HTML 标记(如在描述中使用)
 * 不要包含img 标签
 * 不要包含属性
 * @global string $g_html_valid_tags
 */
$g_html_valid_tags = 'p, li, ul, ol, br, pre, i, b, u, em, strong';

/**
 * 这些是单行字段有效的 html 标记(如,在问题摘要中)
 * 不要包含img 标签
 * 不要包含属性
 * @global string $g_html_valid_tags_single_line
 */
$g_html_valid_tags_single_line = 'i, b, u, em, strong';

/**
 * 下拉菜单中描述最大长度(用于搜索)
 * 设置为0将禁用截断
 * @global integer $g_max_dropdown_length
 */
$g_max_dropdown_length = 40;

/**
 * 此标记控制是否预格式化文本(由HTML前标签界定)strings_api默认为 100字符,如果关闭,查看文本时会显示很宽。
 * @global integer $g_wrap_in_preformatted_text
 */
$g_wrap_in_preformatted_text = ON;

#############################################
# MantisBT 验证和 LDAP 设置 #
#############################################

/**
 * 登录认证方法。 必须是其中之一
 * MD5, LDAP, BASIC_AUTH 或 HTTP_AUTH.
 * 注意:不要轻易修改加密方法,在安装时应该仔细选择,如果可能,MantisBT 将“回退”到较旧的方法。
 * @global integer $g_login_method
 */
$g_login_method = MD5;

/**
 * 管理区域需要重新验证
 * @global integer $g_reauthentication
 */
$g_reauthentication = ON;

/**
 * 重新认证超时时间(单位:秒)
 * @global integer $g_reauthentication_expiry
 */
$g_reauthentication_expiry = TOKEN_EXPIRY_AUTHENTICATED;


/**
 * 指定要连接到的LDAP或Active Directory服务器。
 * 并且必须作为URI提供的协议,可以是ldap或ldaps之一。
 * 默认为ldap端口号为可选,默认为389。
 * 如果不工作,请尝试使用以下标准端口号之一:636(ldaps);
 * 对于Active Directory全局目录林范围搜索,请使用3268(ldap)或3269(ldaps)。
 *
 * 有效URI的示例:
 *
 *   ldap.example.com
 *   ldap.example.com:3268
 *   ldap://ldap.example.com/
 *   ldaps://ldap.example.com:3269/
 *
 * @global string $g_ldap_server
 */
$g_ldap_server = 'ldaps://ldap.example.com/';

/**
 * LDAP搜索根名称
 * @global string $g_ldap_root_dn
 */
$g_ldap_root_dn = 'dc=example,dc=com';

/**
 * LDAP搜索过滤器
 * 如 '(organizationname=*Traffic)'
 * @global string $g_ldap_organization
 */
$g_ldap_organization = '';

/**
 * LDAP协议版本,如果为0,则不设置协议版本。
 * 对于Active Directory使用版本3。
 *
 * @global integer $g_ldap_protocol_version
 */
$g_ldap_protocol_version = 0;

/**
 * TCP连接到LDAP服务器的超时时间(单位:秒)。
 * 当 $g_ldap_server 中定义的主机名解析为多个IP地址时,
 * 将此值设置为低值,允许快速切换到下一个可用的LDAP服务器。默认为0(不超时)
 *
 * @global int $g_ldap_network_timeout
 */
$g_ldap_network_timeout = 0;

/**
 * 确定LDAP库是否自动遵循LDAP服务器返回的引用。
 * 这映射到LDAP_OPT_REFERRALS ldap库选项。
 * 对于Active Directory,应将此设置为OFF。
 *
 * @global integer $g_ldap_follow_referrals
 */
$g_ldap_follow_referrals = ON;

/**
 * 用于绑定到LDAP服务器帐户名称。
 * 示例: 'CN=ldap,OU=Administrators,DC=example,DC=com'.
 *
 * @global string $g_ldap_bind_dn
 */
$g_ldap_bind_dn = '';

/**
 * 用于绑定到LDAP服务器帐户密码。
 *
 * @global string $g_ldap_bind_passwd
 */
$g_ldap_bind_passwd = '';

/**
 * 用户名的LDAP字段
 * 对 Active Directory 使用 'sAMAccountName'
 * @global string $g_ldap_uid_field
 */
$g_ldap_uid_field = 'uid';

/**
 * 用户实际名称(即通用名称)的LDAP字段。
 * @global string $g_ldap_realname_field
 */
$g_ldap_realname_field = 'cn';

/**
 * 使用LDAP(ON)中指定的真实名称,而不是数据库中存储的名称(OFF)。
 * @global integer $g_use_ldap_realname
 */
$g_use_ldap_realname = OFF;

/**
 * 使用LDAP(ON)中指定的电子邮件地址,而不是数据库中存储的电子邮件地址(OFF)。
 * @global integer $g_use_ldap_email
 */
$g_use_ldap_email = OFF;

/**
 * 此配置选项允许用逗号分隔的文本文件替换ldap服务器以用于开发或测试目的。
 * LDAP模拟文件格式如下:
 *   - 每个用户一行
 *   - 每行有4个逗号分隔的字段
 *        - username,
 *        - realname,
 *        - e-mail,
 *        - password
 *   - 任何额外的字段都被忽略
 * 在生产系统上,此选项应设置为空。
 * @global integer $g_ldap_simulation_file_path
 */
$g_ldap_simulation_file_path = '';

###################
# 状态设置 #
###################

/**
 * 提交时分配给错误的状态。
 * @global integer $g_bug_submit_status
 */
$g_bug_submit_status = NEW_;

/**
 * 分配时分配给错误的状态。
 * @global integer $g_bug_assigned_status
 */
$g_bug_assigned_status = ASSIGNED;

/**
 * 重新打开时分配给错误的状态。
 * @global integer $g_bug_reopen_status
 */
$g_bug_reopen_status = FEEDBACK;

/**
 * 当报告者反馈时,分配的状态。
 * 一旦报告者添加了注释,状态将返回到 $g_bug_assigned_status 或 $g_bug_submit_status。
 * @global integer $g_bug_feedback_status
 */
$g_bug_feedback_status = FEEDBACK;

/**
 * 如果将注释添加到当前 $g_bug_feedback_status。
 * 如果该 BUG 被指派给开发人员,并且注释人员也报告人员,则将自动将BUG状态设置为 $g_bug_submit_status 或 $g_bug_assigned_status。
 * 默认为启用。
 * @global boolean $g_reassign_on_feedback
 */
$g_reassign_on_feedback = ON;

/**
 * 重新打开时指派给 bug 的解决方案。
 * @global integer $g_bug_reopen_resolution
 */
$g_bug_reopen_resolution = REOPENED;

/**
 * bug被创建副本时,默认错误解决方案。
 * @global integer $g_bug_duplicate_resolution
 */
$g_bug_duplicate_resolution = DUPLICATE;

/**
 * 如果其状态为> =此状态,则Bug变为只读。
 如果重新打开并且状态小于此值,则BUG允许被读/写。
 * @global integer $g_bug_readonly_status_threshold
 */
$g_bug_readonly_status_threshold = RESOLVED;

/**
 * Bug已解决,准备关闭或重新打开。
 * 在某些自定义安装中,当将其移动到自定义(FIXED或TESTED)状态时,
 * 会将该BUG视为已解决。
 * @global integer $g_bug_resolved_status_threshold
 */
$g_bug_resolved_status_threshold = RESOLVED;

/**
 * 解决方案,表示开发人员已经解决并成功修复了一个 BUG,
 * 高于和 低于 $g_bug_resolution_not_fixed_threshold 被视为已解决。
 * @global integer $g_bug_resolution_fixed_threshold
 */
$g_bug_resolution_fixed_threshold = FIXED;

/**
 * 解决方案值表示 BUG已解决,而不由开发人员成功修复。
 * 高于该值,表示无法解决或解决失败。
 * @global integer $g_bug_resolution_not_fixed_threshold
 */
$g_bug_resolution_not_fixed_threshold = UNABLE_TO_DUPLICATE;

/**
 * BUG 已关闭。
 * 在某些自定义安装中,当将错误移动到自定义(已完成或已修正)状态时,将其视为已关闭。
 * @global integer $g_bug_closed_status_threshold
 */
$g_bug_closed_status_threshold = CLOSED;

/**
 * 每当向某人分配BUG时,自动将状态设置为ASSIGNED。
 * 这对于在错误进行时使用分配状态的安装非常有用,而不仅仅是放在一个人的队列中。
 * @global integer $g_auto_set_status_to_assigned
 */
$g_auto_set_status_to_assigned    = ON;

/**
 * 'status_enum_workflow'定义了工作流,并且反映了一个简单的2维矩阵。
 * 对于每个现有状态,您定义哪个状态,您可以从该状态进入。
 * 从 NEW_ 可以列出状态 '10:new,20:feedback,30:acknowledged'。
 *
 * 以下示例可以直接在 config/config_inc.php 中使用:
 * $g_status_enum_workflow[NEW_]='20:feedback,30:acknowledged,40:confirmed,50:assigned,80:resolved';
 * $g_status_enum_workflow[FEEDBACK] ='10:new,30:acknowledged,40:confirmed,50:assigned,80:resolved';
 * $g_status_enum_workflow[ACKNOWLEDGED] ='20:feedback,40:confirmed,50:assigned,80:resolved';
 * $g_status_enum_workflow[CONFIRMED] ='20:feedback,50:assigned,80:resolved';
 * $g_status_enum_workflow[ASSIGNED] ='20:feedback,80:resolved,90:closed';
 * $g_status_enum_workflow[RESOLVED] ='50:assigned,90:closed';
 * $g_status_enum_workflow[CLOSED] ='50:assigned';
 * @global array $g_status_enum_workflow
 */
$g_status_enum_workflow = array();

############################
# Bug 附件设置 #
############################

/**
 * 指定魔术数据库文件的文件名。
 * 这用于猜测文件的MIME类型。通常,将此设置保留为默认值(空白)是安全的,
 * 因为PHP通常能够单独找到此文件。
 * @global string $g_fileinfo_magic_db_file
 */
$g_fileinfo_magic_db_file = '';

/**
 * 指定在 bug 视图页面中预览附件的最大大小 (以字节为单位)。
 * 要禁用预览附件, 请将最大大小设置为0来。
 * @global integer $g_preview_attachments_inline_max_size
 */
$g_preview_attachments_inline_max_size = 256 * 1024;

/**
 * 可以直接查看的文本文件扩展名。
 * @global array $g_preview_text_extensions
 */
$g_preview_text_extensions = array(
    '', 'txt', 'diff', 'patch'
);

/**
 * 可以直接查看的图片扩展名。
 * @global array $g_preview_image_extensions
 */
$g_preview_image_extensions = array(
    'bmp', 'png', 'gif', 'jpg', 'jpeg'
);

/**
 * 指定 自动预览最大宽度。如果不应限制最大宽度, 则应将其设置为0。
 * @global integer $g_preview_max_width
 */
$g_preview_max_width = 0;

/**
 * 指定自动预览功能的最大高度。如果不限制高度,应该将其设置为 0。
 * @global integer $g_preview_max_height
 */
$g_preview_max_height = 250;

/**
 * 查看 bug 附件所需的访问级别。
 * 意味着查看附件的文件名、大小和时间戳。
 * @global integer $g_view_attachments_threshold
 */
$g_view_attachments_threshold = VIEWER;

/**
 * 可以直接查看的文件类型列表,使用,号分隔。并不是下载,而是在浏览器中查看。
 * @global string $g_inline_file_exts
 */
$g_inline_file_exts = 'gif,png,jpg,jpeg,bmp';

/**
 * 下载附件级别
 * @global integer $g_download_attachments_threshold
 */
$g_download_attachments_threshold = VIEWER;

/**
 * 删除附件级别
 * @global integer $g_delete_attachments_threshold
 */
$g_delete_attachments_threshold = DEVELOPER;

/**
 * 允许用户查看自己上传的附件,即使他们的访问级别低于 view_attachments_threshold
 * @global integer $g_allow_view_own_attachments
 */
$g_allow_view_own_attachments = ON;

/**
* 允许用户下载自己上传的附件,即使他们的访问级别低于 download_attachments_threshold
 * @global integer $g_allow_download_own_attachments
 */
$g_allow_download_own_attachments = ON;

/**
 * 允许用户删除自己上传的附件,即使他们的访问级别低于 delete_attachments_threshold
 * @global integer $g_allow_delete_own_attachments
 */
$g_allow_delete_own_attachments = OFF;

####################
# 字段可见 #
####################

/**
 * 启用 估计完成时间
 * @global integer $g_enable_eta
 */
$g_enable_eta = OFF;

/**
 * 启用处理方式
 * @global integer $g_enable_projection
 */
$g_enable_projection = OFF;

/**
 * 启用 产品Build
 * @global integer $g_enable_product_build
 */
$g_enable_product_build = OFF;

/**
 * 在错误报告页面上显示的可选字段数组。
 *
 * 允许以下可选字段:
 *   - additional_info
 *   - attachments
 *   - category_id
 *   - due_date
 *   - handler
 *   - os
 *   - os_version
 *   - platform
 *   - priority
 *   - product_build
 *   - product_version
 *   - reproducibility
 *   - resolution
 *   - severity
 *   - status
 *   - steps_to_reproduce
 *   - target_version
 *   - view_state
 *
 * 摘要和描述字段始终显示,不需要在此选项中列出。
 * 上面未列出的字段不能显示在错误报告页面上。
 * 可以通过使用 "管理 = > 配置管理 => 管理列" 页来设置每个项目。
 *
 * 此设置可以在每个项目的基础上,通过使用管理 => 管理配置。
 *
 * @global array $g_bug_report_page_fields
 */
$g_bug_report_page_fields = array(
    'additional_info',
    'attachments',
    'category_id',
    'due_date',
    'handler',
    'os',
    'os_version',
    'platform',
    'priority',
    'product_build',
    'product_version',
    'reproducibility',
    'severity',
    'steps_to_reproduce',
    'tags',
    'target_version',
    'view_state',
);

/**
 * 要在 bug 视图页上显示的可选字段的数组。
 *
 * 允许以下可选字段:
 *   - additional_info
 *   - attachments
 *   - category_id
 *   - date_submitted
 *   - description
 *   - due_date
 *   - eta
 *   - fixed_in_version
 *   - handler
 *   - id
 *   - last_updated
 *   - os
 *   - os_version
 *   - platform
 *   - priority
 *   - product_build
 *   - product_version
 *   - project
 *   - projection
 *   - reporter
 *   - reproducibility
 *   - resolution
 *   - severity
 *   - status
 *   - steps_to_reproduce
 *   - summary
 *   - tags
 *   - target_version
 *   - view_state
 *
 * 自定义字段,通过管理=>管理自定义字段进行处理。
 * administrator page.
 *
 * 可以通过使用 "管理 = > 配置管理 => 管理列" 页来设置每个项目。
 *
 * @global array $g_bug_view_page_fields
 */
$g_bug_view_page_fields = array (
    'additional_info',
    'attachments',
    'category_id',
    'date_submitted',
    'description',
    'due_date',
    'eta',
    'fixed_in_version',
    'handler',
    'id',
    'last_updated',
    'os',
    'os_version',
    'platform',
    'priority',
    'product_build',
    'product_version',
    'project',
    'projection',
    'reporter',
    'reproducibility',
    'resolution',
    'severity',
    'status',
    'steps_to_reproduce',
    'summary',
    'tags',
    'target_version',
    'view_state',
);

/**
 * 在错误更新页面上显示的可选字段数组。
 *
 * 允许以下可选字段:
 *   - additional_info
 *   - category_id
 *   - date_submitted
 *   - description
 *   - due_date
 *   - eta
 *   - fixed_in_version
 *   - handler
 *   - id
 *   - last_updated
 *   - os
 *   - os_version
 *   - platform
 *   - priority
 *   - product_build
 *   - product_version
 *   - project
 *   - projection
 *   - reporter
 *   - reproducibility
 *   - resolution
 *   - severity
 *   - status
 *   - steps_to_reproduce
 *   - summary
 *   - target_version
 *   - view_state
 *
 * 可以通过使用 "管理 = > 配置管理 => 管理列" 页来设置每个项目。
 *
 * @global array $g_bug_update_page_fields
 */
$g_bug_update_page_fields = array (
    'additional_info',
    'category_id',
    'date_submitted',
    'description',
    'due_date',
    'eta',
    'fixed_in_version',
    'handler',
    'id',
    'last_updated',
    'os',
    'os_version',
    'platform',
    'priority',
    'product_build',
    'product_version',
    'project',
    'projection',
    'reporter',
    'reproducibility',
    'resolution',
    'severity',
    'status',
    'steps_to_reproduce',
    'summary',
    'target_version',
    'view_state',
);

/**
 * An array of optional fields to show on the bug change status page. This
 * only changes the visibility of fields shown below the form used for
 * updating the status of an issue.
 *
 * 允许以下可选字段:
 *   - additional_info
 *   - attachments
 *   - category_id
 *   - date_submitted
 *   - description
 *   - due_date
 *   - eta
 *   - fixed_in_version
 *   - handler
 *   - id
 *   - last_updated
 *   - os
 *   - os_version
 *   - platform
 *   - priority
 *   - product_build
 *   - product_version
 *   - project
 *   - projection
 *   - reporter
 *   - reproducibility
 *   - resolution
 *   - severity
 *   - status
 *   - steps_to_reproduce
 *   - summary
 *   - tags
 *   - target_version
 *   - view_state
 *
 *
 * 可以通过使用 "管理 = > 配置管理 => 管理列" 页来设置每个项目。
 *
 * @global array $g_bug_change_status_page_fields
 */
$g_bug_change_status_page_fields = array (
    'additional_info',
    'attachments',
    'category_id',
    'date_submitted',
    'description',
    'due_date',
    'eta',
    'fixed_in_version',
    'handler',
    'id',
    'last_updated',
    'os',
    'os_version',
    'platform',
    'priority',
    'product_build',
    'product_version',
    'project',
    'projection',
    'reporter',
    'reproducibility',
    'resolution',
    'severity',
    'status',
    'steps_to_reproduce',
    'summary',
    'tags',
    'target_version',
    'view_state',
);

##########################
# MantisBT 其他设置 #
##########################

/**
 * 报告BUG级别
 * @global integer $g_report_bug_threshold
 */
$g_report_bug_threshold = REPORTER;

/**
 * 更新BUG所需级别,即“更新 BUG”按钮是否可用。
 * @global integer $g_update_bug_threshold
 */
$g_update_bug_threshold = UPDATER;

/**
 * 查看 bug 所需级别
 * @global integer $g_view_bug_threshold
 */
$g_view_bug_threshold = VIEWER;

/**
 * 监视 bug 所需级别
 * 需要需要配置不同的值,请查看 constant_inc.php 文件。
 * @global integer $g_monitor_bug_threshold
 */
$g_monitor_bug_threshold = REPORTER;

/**
 * 将其他用户添加到 BUG 监测列表所需级别
 * 需要需要配置不同的值,请查看 constant_inc.php 文件。
 * @global integer $g_monitor_add_others_bug_threshold
 */
$g_monitor_add_others_bug_threshold = DEVELOPER;

/**
 * 从 BUG 监视列表中删除其他用户所需级别
 * 需要需要配置不同的值,请查看 constant_inc.php 文件。
 * @global integer $g_monitor_delete_others_bug_threshold
 */
$g_monitor_delete_others_bug_threshold = DEVELOPER;

/**
 * 查看私人 bug 所需的访问级别
 * 需要需要配置不同的值,请查看 constant_inc.php 文件。
 * @global integer $g_private_bug_threshold
 */
$g_private_bug_threshold = DEVELOPER;

/**
 * BUG 分配人员列表级别
 * 即哪些人在分配列表中显示,以供选择
 * @global integer $g_handle_bug_threshold
 */
$g_handle_bug_threshold = DEVELOPER;

/**
 * 显示分配给: bug_view*_page 按钮或 bug_update*_page 分配列表
 * 这允许控制谁可以路由 bug
 * 默认为 $g_handle_bug_threshold
 * @global integer $g_update_bug_assign_threshold
 */
$g_update_bug_assign_threshold = '%handle_bug_threshold%';

/**
 * 查看私有注释级别
 * 需要需要配置不同的值,请查看 constant_inc.php 文件。
 * @global integer $g_private_bugnote_threshold
 */
$g_private_bugnote_threshold = DEVELOPER;

/**
 * 查看处理程序中的 bug 报告和通知电子邮件所需级别
 * @todo yarick123: 实现电子邮件通知
 * @global integer $g_view_handler_threshold
 */
$g_view_handler_threshold = VIEWER;

/**
 * 查看历史记录在 bug 报告和电子邮件通知所需级别
 * @todo yarick123: 实现电子邮件通知
 * @global integer $g_view_history_threshold
 */
$g_view_history_threshold = VIEWER;

/**
 * 发送提醒从 bug 查看页面所需级别
 * 设置为为 NOBODY 将禁止此功能
 * @global integer $g_bug_reminder_threshold
 */
$g_bug_reminder_threshold = DEVELOPER;

/**
 * 删除 BUG 历史记录 修订版所需级别
 * @global integer $g_bug_revision_drop_threshold
 */
$g_bug_revision_drop_threshold = MANAGER;

/**
 * 将文件上传到项目文档所需级别
 * 您可以将此设置为NOBODY,以禁止上传到项目
 * @see $g_enable_project_documentation
 * @see $g_view_proj_doc_threshold
 * @see $g_allow_file_upload
 * @see $g_upload_bug_file_threshold
 * @global integer $g_upload_project_file_threshold
 */
$g_upload_project_file_threshold = MANAGER;

/**
 * 上传文件到 BUG中所需级别。
 * 设置为 NOBODY 可以禁止任何人上传.
 * 但,除非你设置,否则BUG报告者仍能上传。
 *  $g_allow_reporter_upload 或 $g_allow_file_upload 为 OFF
 * 查看: $g_upload_project_file_threshold, $g_allow_file_upload,
 *            $g_allow_reporter_upload
 * @global integer $g_upload_bug_file_threshold
 */
$g_upload_bug_file_threshold = REPORTER;

/**
 * 添加 BUG 注释级别
 * @global integer $g_add_bugnote_threshold
 */
$g_add_bugnote_threshold = REPORTER;

/**
 * 编辑其他用户BUG注释级别
 * @global integer $g_update_bugnote_threshold
 */
$g_update_bugnote_threshold = DEVELOPER;

/**
 * 查看项目文件级别
 * 注意: 将此设置为 ANYBODY ,可以让任何用户从私有项目中下载附件
 * 不管是否是项目成员。
 * @see $g_enable_project_documentation
 * @see $g_upload_project_file_threshold
 * @global integer $g_view_proj_doc_threshold
 */
$g_view_proj_doc_threshold = VIEWER;

/**
 * 站点管理者
 * @global integer $g_manage_site_threshold
 */
$g_manage_site_threshold = MANAGER;

/**
 * 此级别被认为是网站管理员。可以管理各方面功能。
 * 警告! 不要改变这个值, 除非你绝对知道你在做什么!
 * 此访问级别的用户能够损坏您的 MantisBT 安装和数据库中的数据。
 * 强烈建议您单独保留此选项。
 * @global integer $g_admin_site_threshold
 */
$g_admin_site_threshold = ADMINISTRATOR;

/**
 * 管理项目(编辑项目信息)所需级别:(不包含添加/删除)
 * @global integer $g_manage_project_threshold
 */
$g_manage_project_threshold = MANAGER;

/**
 * 添加/删除/修改新闻所需级别
 * @global integer $g_manage_news_threshold
 */
$g_manage_news_threshold = MANAGER;

/**
 * 删除项目所需级别
 * @global integer $g_delete_project_threshold
 */
$g_delete_project_threshold = ADMINISTRATOR;

/**
 * 创建新项目所需级别
 * @global integer $g_create_project_threshold
 */
$g_create_project_threshold = ADMINISTRATOR;

/**
 * 需要自动包含在私有项目级别
 * @global integer $g_private_project_threshold
 */
$g_private_project_threshold = ADMINISTRATOR;

/**
 * 管理用户对项目的访问所需级别
 * @global integer $g_project_user_threshold
 */
$g_project_user_threshold = MANAGER;

/**
 * 管理用户帐户所需级别
 * @global integer $g_manage_user_threshold
 */
$g_manage_user_threshold = ADMINISTRATOR;

/**
 * 模仿用户或NOBODY 以禁用,所需级别
 * @global integer $g_impersonate_user_threshold
 */
$g_impersonate_user_threshold = ADMINISTRATOR;

/**
 * 删除BUG级别
 * @global integer $g_delete_bug_threshold
 */
$g_delete_bug_threshold = DEVELOPER;

/**
 * 可以删除其他用户 BUG,默认值为 $g_delete_bug_threshold.
 * @global string $g_delete_bugnote_threshold
 */
$g_delete_bugnote_threshold = '%delete_bug_threshold%';

/**
 * 移动 BUG 所需级别
 * @global integer $g_move_bug_threshold
 */
$g_move_bug_threshold = DEVELOPER;

/**
 * 在报告 BUG 或 注释 BUG时设置状态所需级别
 * @global integer $g_set_view_status_threshold
 */
$g_set_view_status_threshold = REPORTER;

/**
 * 更新 bug 或 注释bug 时所需级别
 * 值应该大于或等于 $g_set_view_status_threshold.
 * @global integer $g_change_view_status_threshold
 */
$g_change_view_status_threshold = UPDATER;

/**
 * 显示 bug 视图页上监视 bug 的用户列表所需级别
 * @global integer $g_show_monitor_list_threshold
 */
$g_show_monitor_list_threshold = DEVELOPER;

/**
 * 可以使用存储查询所需级别
 * @global integer $g_stored_query_use_threshold
 */
$g_stored_query_use_threshold = REPORTER;

/**
 * 能够创建存储查询所需级别
 * @global integer $g_stored_query_create_threshold
 */
$g_stored_query_create_threshold = DEVELOPER;

/**
 * 能够创建共享存储查询所需级别
 * @global integer $g_stored_query_create_shared_threshold
 */
$g_stored_query_create_shared_threshold = MANAGER;

/**
 * 更新只读 bug 所需级别。
 * 通过确定 $g_bug_readonly_status_threshold
 * @global integer $g_update_readonly_bug_threshold
 */
$g_update_readonly_bug_threshold = MANAGER;

/**
 * 查看更改日志级别
 * @global integer $g_view_changelog_threshold
 */
$g_view_changelog_threshold = VIEWER;

/**
* 查看时间线级别
* @global integer $g_timeline_view_threshold
*/
$g_timeline_view_threshold = VIEWER;

/**
 * 查看路线图级别
 * @global integer $g_roadmap_view_threshold
 */
$g_roadmap_view_threshold = VIEWER;

/**
 * 更新路线图、标签版本等级别
 * @global integer $g_roadmap_update_threshold
 */
$g_roadmap_update_threshold = DEVELOPER;

/**
 * 状态更改级别
 * @global integer $g_update_bug_status_threshold
 */
$g_update_bug_status_threshold = DEVELOPER;

/**
 * 重新打开的 bug 所需级别
 * @global integer $g_reopen_bug_threshold
 */
$g_reopen_bug_threshold = DEVELOPER;

/**
 * 将 bug 分配给未发行产品版本所需级别
 * @global integer $g_report_issues_for_unreleased_versions_threshold
 */
$g_report_issues_for_unreleased_versions_threshold = DEVELOPER;

/**
 * 设置相关 BUG 级别
 * @global integer $g_set_bug_sticky_threshold
 */
$g_set_bug_sticky_threshold = MANAGER;

/**
 * 团队开发人员最低级别。
 * 用于在项目信息上显示。
 * @global integer $g_development_team_threshold
 */
$g_development_team_threshold = DEVELOPER;

/**
* 此数组设置进入每个列出的状态所需的访问级别。
 * 如果状态未列出,
 * 会回到 $g_update_bug_status_threshold
 * 如 :
 * $g_set_status_threshold = array(
 *     ACKNOWLEDGED => MANAGER,
 *     CONFIRMED => DEVELOPER,
 *     CLOSED => MANAGER
 * );
 * @global array $g_set_status_threshold
 */
$g_set_status_threshold = array( NEW_ => REPORTER );

/**
 * 用户编辑自己的注释级别
 * 默认值为 $g_update_bugnote_threshold
 * @global integer $g_bugnote_user_edit_threshold
 */
$g_bugnote_user_edit_threshold = '%update_bugnote_threshold%';

/**
 * 用户删除自己的BUG
 * 默认值为 $g_delete_bugnote_threshold.
 * @global integer $g_bugnote_user_delete_threshold
 */
$g_bugnote_user_delete_threshold = '%delete_bugnote_threshold%';

/**
 * 用户可以自己的注释状态
 * 默认值为 $g_change_view_status_threshold.
 * @global integer $g_bugnote_user_change_view_state_threshold
 */
$g_bugnote_user_change_view_state_threshold = '%change_view_status_threshold%';

/**
 * 允许 BUG 没有类别
 * @global integer $g_allow_no_category
 */
$g_allow_no_category = OFF;

/**
 * 限制报告者。如果仅能查看自己报告的BUG,请设置为 ON。
 * @global integer $g_limit_reporters
 */
$g_limit_reporters = OFF;

/**
 * 报告者可以关闭BUG,允许记录在标记已解决后,关闭他们的BUG。
 * @global integer $g_allow_reporter_close
 */
$g_allow_reporter_close     = OFF;

/**
 * 报告者可以重新打开BUG
 * @global integer $g_allow_reporter_reopen
 */
$g_allow_reporter_reopen = ON;

/**
 * 报告者可以上传
 * 允许报告者上传附件到 BUG 中
 * @global integer $g_allow_reporter_upload
 */
$g_allow_reporter_upload = ON;

/**
 * 帐户删除
 * 允许用户删除自己的帐户
 * @global integer $g_allow_account_delete
 */
$g_allow_account_delete = OFF;

/**
 * 启用对 MantisBT的匿名访问。 您必须指定 $g_anonymous_account 匿名帐户。
 * 设置为 OFF。
 * @global integer $g_allow_anonymous_login
 */
$g_allow_anonymous_login = OFF;

/**
 * 定义哪些匿名用户做为匿名帐户。
 * 当 $g_allow_anonymous_login 设置为 ON。你需要定义此设置,
 * 此帐户将始终被视为一个受保护的帐户,因此匿名用户将不能更新的首选项或设置此帐户。
 * 建议此帐户的访问级别 只有 VIEWER。
 * 请在MantisBT 安装的文档中阅读关于这一主题“设置匿名访问”。
 * @global string $g_anonymous_account
 */
$g_anonymous_account = '';

/**
 * bug 链接
 * if a number follows this tag it will create a link to a bug.
 * eg. for # a link would be #45
 * eg. for bug: a link would be bug:98
 * @global string $g_bug_link_tag
 */
$g_bug_link_tag = '#';

/**
 * 注释链接
 * if a number follows this tag it will create a link to a bugnote.
 * eg. for ~ a link would be ~45
 * eg. for bugnote: a link would be bugnote:98
 * @global string $g_bugnote_link_tag
 */
$g_bugnote_link_tag = '~';

/**
 * BUG 统计链接
 * 将当前 BUG 统计创建当前视频使用的前缀
 *(例如在主页面和摘要页面上)。
 * 默认是一个临时过滤器
 * 此时只更改过滤器 - 'view_all_set.php?type=1&amp;temporary=y'
 * 永久更改过滤器 - 'view_all_set.php?type=1';
 * @global string $g_bug_count_hyperlink_prefix
 */
$g_bug_count_hyperlink_prefix = 'view_all_set.php?type=1&amp;temporary=y';

/**
 * 验证用户名正则
 * 默认的正则表达式允许 a-z, A-Z, 0-9, +, -, ., 空格 和 下划线
 * 如果您更改此了设置,则可能需要更新语言文件中的ERROR_USER_NAME_INVALID字符串,以解释您在网站上使用的规则。
 * 了解更多 http://en.wikipedia.org/wiki/Regular_Expression for more details about
 * 测试正式 http://rubular.com/
 * @global string $g_user_login_valid_regex
 */
$g_user_login_valid_regex = '/^([a-z\d\-.+_ ]+(@[a-z\d\-.]+\.[a-z]{2,4})?)$/i';

/**
 * 用于筛选用户列表默认用户名前缀
 * 如果系统中有很多用户,加载时,会很慢,请将此改为“A”或其他字段。
 * @global string $g_default_manage_user_prefix
 */
$g_default_manage_user_prefix = 'ALL';

/**
 * 默认标记前缀前于筛选标签列表。
 * 如果系统有很多标签,加载时会很慢,请改为“A”或其他字母。
 * @global string $g_default_manage_tag_prefix
 */
$g_default_manage_tag_prefix = 'ALL';

/**
 * CSV 导出
 * 设置 csv 分隔符
 * @global string $g_csv_separator
 */
$g_csv_separator = ',';

/**
 * 用户管理项目所需级别。
 * 包含工作流程、电子邮件通知等。
 */
$g_manage_configuration_threshold = MANAGER;

/**
 * 查看系统配置级别
 * @global integer $g_view_configuration_threshold
 */
$g_view_configuration_threshold = ADMINISTRATOR;

/**
 * 用户通过MantisBT Web界面设置系统配置级别
 * 警告:通过接口设置配置的用户必须信任。
 *
 * 因为用户可以将配置设置为PHP代码,因此如果这些用户不被信任,则可能存在安全风险。
 * @global integer $g_set_configuration_threshold
 */
$g_set_configuration_threshold = ADMINISTRATOR;

####################################
# MantisBT 颜色配置 #
####################################

/**
 * 状态颜色代码,使用 Tango 颜色调色板
 * @global array $g_status_colors
 */
$g_status_colors = array(
    'new'          => '#fcbdbd', # red    (scarlet red #ef2929)
    'feedback'     => '#e3b7eb', # purple (plum        #75507b)
    'acknowledged' => '#ffcd85', # orange (orango      #f57900)
    'confirmed'    => '#fff494', # yellow (butter      #fce94f)
    'assigned'     => '#c2dfff', # blue   (sky blue    #729fcf)
    'resolved'     => '#d2f5b0', # green  (chameleon   #8ae234)
    'closed'       => '#c9ccc4'  # grey   (aluminum    #babdb6)
);

/**
 * 显示项目标识时的填充级别
 * 项目ID将用0填充到指定大小
 * @global integer $g_display_project_padding
 */
$g_display_project_padding = 3;

/**
 * 显示bug ID时的填充级别
 * bug ID将用0填充到指定大小
 * @global integer $g_display_bug_padding
 */
$g_display_bug_padding = 7;

/**
 * 显示BUG注释 ID时的填充级别
 * BUG注释 ID将用0填充到指定大小
 * @global integer $g_display_bugnote_padding
 */
$g_display_bugnote_padding = 7;

#############################
# MantisBT Cookie 变量 #
#############################

/**
 * 指定Cookie 路径
 * 建议将其设置为实际的MantisBT路径。
 * @link http://php.net/function.setcookie
 * @global string $g_cookie_path
 */
$g_cookie_path = '/';

/**
 * MantisBT Cookie作用域
 * @global string $g_cookie_domain
 */
$g_cookie_domain = '';

/**
 * Cookie 前缀
 * @see $g_cookie_path
 * @global string $g_cookie_prefix
 */
$g_cookie_prefix = 'MANTIS';

/**
 *
 * @global string $g_string_cookie
 */
$g_string_cookie = '%cookie_prefix%_STRING_COOKIE';

/**
 *
 * @global string $g_project_cookie
 */
$g_project_cookie = '%cookie_prefix%_PROJECT_COOKIE';

/**
 *
 * @global string $g_view_all_cookie
 */
$g_view_all_cookie = '%cookie_prefix%_VIEW_ALL_COOKIE';

/**
 * 存储 "管理用户" 页的筛选条件
 * @global string $g_manage_users_cookie
 */
$g_manage_users_cookie        = '%cookie_prefix%_MANAGE_USERS_COOKIE';

/**
 * 存储 "管理配置报告" 页的筛选条件
 * @global string $g_manage_config_cookie
 */
$g_manage_config_cookie        = '%cookie_prefix%_MANAGE_CONFIG_COOKIE';

/**
 *
 * @global string $g_logout_cookie
 */
$g_logout_cookie = '%cookie_prefix%_LOGOUT_COOKIE';

/**
 *
 * @global string $g_bug_list_cookie
 */
$g_bug_list_cookie = '%cookie_prefix%_BUG_LIST_COOKIE';

#############################
# MantisBT 过滤器变量 #
#############################

/**
 * 在筛选器对话框中显示自定义字段
 * @global integer $g_filter_by_custom_fields
 */
$g_filter_by_custom_fields = ON;

/**
 * 每行显示的筛选字段数。
 * 默认为 8
 * @global integer $g_filter_custom_fields_per_row
 */
$g_filter_custom_fields_per_row = 8;

/**
 * 控制筛选器页的显示。
 * 值有︰
 * - SIMPLE_ONLY - 仅简单视图
 * - ADVANCED_ONLY - 仅高级视图 (允许多选)
 * - SIMPLE_DEFAULT - 默认为简单视图, 但显示高级链接
 * - ADVANCED_DEFAULT - 默认为 "高级" 视图, 但显示一个简单的链接
 * @global integer $g_view_filters
 */
$g_view_filters = SIMPLE_DEFAULT;

/**
 * 此开关允许使用 ajax 动态加载并根据请求创建筛选器窗体控件。
 * 此方法将减少每页负载处理筛选器时需要传输的数据量, 从而加速度显示和减少带宽使用。
 * @global integer $g_use_dynamic_filters
 */
$g_use_dynamic_filters = ON;

/**
 * 用户能够创建的固定链接所需级别
 * NOBODY 禁止任何人创建
 * @global integer $g_create_permalink_threshold
 */
$g_create_permalink_threshold = DEVELOPER;

/**
 * 用于创建简短 url 的服务。
 * %s 将被长 url 替换。要禁用该功能设置为 空。
 * @global string $g_create_short_url
 */
$g_create_short_url = 'http://tinyurl.com/create.php?url=%s';

#########################
# MantisBT 枚举字符串 #
#########################

/**
 * status from $g_status_index-1 to 79 are used for the onboard customization
 * (if enabled) directly use MantisBT to edit them.
 * @global string $g_access_levels_enum_string
 */
$g_access_levels_enum_string = '10:viewer,25:reporter,40:updater,55:developer,70:manager,90:administrator';

/**
 *
 * @global string $g_project_status_enum_string
 */
$g_project_status_enum_string = '10:development,30:release,50:stable,70:obsolete';

/**
 *
 * @global string $g_project_view_state_enum_string
 */
$g_project_view_state_enum_string = '10:public,50:private';

/**
 *
 * @global string $g_view_state_enum_string
 */
$g_view_state_enum_string = '10:public,50:private';

/**
 *
 * @global string $g_priority_enum_string
 */
$g_priority_enum_string = '10:none,20:low,30:normal,40:high,50:urgent,60:immediate';
/**
 *
 * @global string $g_severity_enum_string
 */
$g_severity_enum_string = '10:feature,20:trivial,30:text,40:tweak,50:minor,60:major,70:crash,80:block';

/**
 *
 * @global string $g_reproducibility_enum_string
 */
$g_reproducibility_enum_string = '10:always,30:sometimes,50:random,70:have not tried,90:unable to duplicate,100:N/A';

/**
 *
 * @global string $g_status_enum_string
 */
$g_status_enum_string = '10:new,20:feedback,30:acknowledged,40:confirmed,50:assigned,80:resolved,90:closed';

/**
 * @@@ 对于文档,此列表中的值也用于定义语言文件中的变量(如 $s_new_bug_title 在 bug_change_status_page.php)
 * 嵌入空格将转换为下划线
 * (如 "working on" 转换为 $s_working_on_bug_title).
 * 他们也希望是国家的英文名称
 * @global string $g_resolution_enum_string
 */
$g_resolution_enum_string = '10:open,20:fixed,30:reopened,40:unable to duplicate,50:not fixable,60:duplicate,70:not a bug,80:suspended,90:wont fix';

/**
 *
 * @global string $g_projection_enum_string
 */
$g_projection_enum_string = '10:none,30:tweak,50:minor fix,70:major rework,90:redesign';

/**
 *
 * @global string $g_eta_enum_string
 */
$g_eta_enum_string = '10:none,20:< 1 day,30:2-3 days,40:< 1 week,50:< 1 month,60:> 1 month';

/**
 *
 * @global string $g_sponsorship_enum_string
 */
$g_sponsorship_enum_string = '0:Unpaid,1:Requested,2:Paid';

/**
 *
 * @global string $g_custom_field_type_enum_string
 */
$g_custom_field_type_enum_string = '0:string,1:numeric,2:float,3:enum,4:email,5:checkbox,6:list,7:multiselection list,8:date,9:radio,10:textarea';

###############################
# MantisBT 速度优化 #
###############################

/**
 * 压缩输出
 * 如果你在 php.ini 文件中启用压缩(zlib.output_compression或output_handler = ob_gzhandler)
 * 这个选项将会忽略。
 *
 * 如果未启用zlib,这个选项也会被忽略。
 * PHP 4.3.0及更高版本默认包含zlib。 Windows 用户应该取消注释zlib.dll,以启用压缩输出。
 * 您可以通过运行“php -m”来检查加载的扩展名 在命令行(查找'zlib')。
 * @global integer $g_compress_html
 */
$g_compress_html = ON;

/**
 * 使用持久性数据库连接
 * @global integer $g_use_persistent_connections
 */
$g_use_persistent_connections = OFF;

#################
# 文件引入 #
#################

/**
 * 指定您的头部/底部包含文件(如LOGO,Banner等)
 * @global string $g_bottom_include_page
 */
$g_bottom_include_page = '%absolute_path%';

/**
 * 指定您的头部/底部包含文件(如LOGO,Banner等)
 * 如果提供了头部文件,则头部的默认MantisBT LOGO 将被隐藏。
 *
 * 例如,您可以在页面头部包含一个居中的标题:
 *
 * <div class="center"><span class="pagetitle">TITLE</span></div>
 *
 * 如果使用include文件,则会删除的默认Banner。
 * 你可以在 html_api.php 中的html_top_banner函数中找到。
 *
 * @global string $g_top_include_page
 */
$g_top_include_page = '%absolute_path%';

/**
 * CSS 文件
 * @global string $g_css_include_file
 */
$g_css_include_file = 'default.css';

/**
 * RTL CSS 文件
 * @global string $g_css_rtl_include_file
 */
$g_css_rtl_include_file = 'rtl.css';

/**
 * meta 标签
 * @global string $g_meta_include_file
 */
$g_meta_include_file = '';

/**
 * 设置是否使用 cdn (内容传递网络) 加载 javascript 库及其关联的 css 的文件。
 * 这提高了加载 MantisBT 页的速度。
 * 如果希望 MantisBT 不在外网使用, 则可以禁用此功能。
 * @global integer $g_cdn_enabled
 */
$g_cdn_enabled = OFF;

################
# 重定向 #
################

/**
 * 登录或设置项目后的默认页面
 * @global string $g_default_home_page
 */
$g_default_home_page = 'my_view_page.php';

/**
 * 用户注销后跳转换页面
 * @global string $g_logout_redirect_page
 */
$g_logout_redirect_page = 'login_page.php';

###########
# 标题 #
###########

/**
 * 要与每个网页一起发送的自定义标头数组。
 *
 * 如,为了允许在IE6中的框架中查看MantisBT安装,
 * 当框架集与MantisBT安装不在同一主机名时,您需要添加一个P3P头。
 * 你可以尝试类似的 'P3P: CP="CUR ADM"' 配置, 但请务必检查您的政策是否符合要求。
 * 查看 http://msdn.microsoft.com/en-us/library/ms537343.aspx for 了解更多信息。
 *
 * 尽管不建议这样做,您可以使用此设置来禁用先前发送标头。
 * 例如,假设你不想从内容安全政策中受益,您可以添加 'Content-Security-Policy:' 到的数组。
 *
 * @global array $g_custom_headers
 */
$g_custom_headers = array();

/**
 * 浏览器缓存控制
 * 默认情况下, 我们试图阻止浏览器缓存任何内容。
 * 这两种设置将会在某些情况下失败。
 *
 * 浏览器页面缓存 - 这将允许浏览器缓存所有页面。
 * 会有更好的性能,但有可能会显示过时的信息。
 * 注意,这将被绕过(并且允许缓存)BUG 报告页面。
 *
 * @global integer $g_allow_browser_cache
 */
# $g_allow_browser_cache = ON;
/**
 * 文件缓存 - 这将允许浏览器缓存下载的文件。
 * 没有此设置,可能存在IE接收文件和启动下载程序的问题。
 * @global integer $g_allow_file_cache
 */
# $g_allow_file_cache = ON;

#################
# 自定义字段 #
#################

/**
 * 管理自定义字段所需级别
 * @global integer $g_manage_custom_fields_threshold
 */
$g_manage_custom_fields_threshold = ADMINISTRATOR;

/**
 * 将自定义字段链接到/取消链接到项目所需级别
 * @global integer $g_custom_field_link_threshold
 */
$g_custom_field_link_threshold = MANAGER;

/**
 * 是否在创建自定义字段后开始编辑
 * @global integer $g_custom_field_edit_after_create
 */
$g_custom_field_edit_after_create = ON;

################
# 自定义菜单 #
################

/**
 * 自定义菜单。例如:
 *
 * $g_main_menu_custom_options = array(
 *     array(
 *         'title'        => 'My Link',
 *         'access_level' => MANAGER,
 *         'url'          => 'my_link.php',
 *         'icon'         => 'fa-plug'
 *     ),
 *     array(
 *         'title'        => 'My Link2',
 *         'access_level' => ADMINISTRATOR,
 *         'url'          => 'my_link2.php',
 *         'icon'         => 'fa-plug'
 *     )
 * );
 *
 * 请注意,如果标题是本地化的字符串名称(在strings_english.txt或custom_strings_inc.php中),那么它将被翻译的字符串替换。
 * 如果当前登录的用户有访问权限,则菜单项会显示。
 *
 * 访问级别是可选字段,如果未设置,则不会进行检查。
 * 图标是可选字段,如果未设置,则使用“fa-plug”。
 *
 * 使用图标在 http://fontawesome.io/icons/ - 添加 "fa-" 前缀到图标名称。
 *
 * @global array $g_main_menu_custom_options
 */
$g_main_menu_custom_options = array();

#########
# 图标 #
#########

/**
 * 将文件扩展名映射到文件类型图标。 这些图标将显示在项目文档和附件旁边。
 * 注意:
 * - 扩展名必须为小写
 * - 所有图标大小在16x16px
 * @global array $g_file_type_icons
 */
$g_file_type_icons = array(
    ''        => 'fa-file-text-o',
    '7z'    => 'fa-file-archive-o',
    'ace'    => 'fa-file-archive-o',
    'arj'    => 'fa-file-archive-o',
    'bz2'    => 'fa-file-archive-o',
    'c'        => 'fa-file-code-o',
    'chm'    => 'fa-file-o',
    'cpp'    => 'fa-file-code-o',
    'css'    => 'fa-file-code-o',
    'csv'    => 'fa-file-text-o',
    'cxx'    => 'fa-file-code-o',
    'diff'    => 'fa-file-text-o',
    'doc'    => 'fa-file-word-o',
    'docx'    => 'fa-file-word-o',
    'dot'    => 'fa-file-word-o',
    'eml'    => 'fa-envelope-o',
    'htm'    => 'fa-file-code-o',
    'html'    => 'fa-file-code-o',
    'gif'    => 'fa-file-image-o',
    'gz'    => 'fa-file-archive-o',
    'jpe'    => 'fa-file-image-o',
    'jpg'    => 'fa-file-image-o',
    'jpeg'    => 'fa-file-image-o',
    'log'    => 'fa-file-text-o',
    'lzh'    => 'fa-file-archive-o',
    'mhtml'    => 'fa-file-code-o',
    'mid'    => 'fa-file-audio-o',
    'midi'    => 'fa-file-audio-o',
    'mov'    => 'fa-file-movie-o',
    'msg'    => 'fa-envelope-o',
    'one'    => 'fa-file-o',
    'patch'    => 'fa-file-text-o',
    'pcx'    => 'fa-file-image-o',
    'pdf'    => 'fa-file-pdf-o',
    'png'    => 'fa-file-image-o',
    'pot'    => 'fa-file-word-o',
    'pps'    => 'fa-file-powerpoint-o',
    'ppt'    => 'fa-file-powerpoint-o',
    'pptx'    => 'fa-file-powerpoint-o',
    'pub'    => 'fa-file-o',
    'rar'    => 'fa-file-archive-o',
    'reg'    => 'fa-file',
    'rtf'    => 'fa-file-word-o',
    'tar'    => 'fa-file-archive-o',
    'tgz'    => 'fa-file-archive-o',
    'txt'    => 'fa-file-text-o',
    'uc2'    => 'fa-file-archive-o',
    'vsd'    => 'fa-file-o',
    'vsl'    => 'fa-file-o',
    'vss'    => 'fa-file-o',
    'vst'    => 'fa-file-o',
    'vsu'    => 'fa-file-o',
    'vsw'    => 'fa-file-o',
    'vsx'    => 'fa-file-o',
    'vtx'    => 'fa-file-o',
    'wav'    => 'fa-file-audio-o',
    'wbk'    => 'fa-file-word-o',
    'wma'    => 'fa-file-audio-o',
    'wmv'    => 'fa-file-movie-o',
    'wri'    => 'fa-file-word-o',
    'xlk'    => 'fa-file-excel-o',
    'xls'    => 'fa-file-excel-o',
    'xlsx'    => 'fa-file-excel-o',
    'xlt'    => 'fa-file-excel-o',
    'xml'    => 'fa-file-code-o',
    'zip'    => 'fa-file-archive-o',
    '?'    => 'fa-file-o' );

/**
 *
 * 下载文件时将被覆盖内容类型
 *
 * @global array $g_file_download_content_type_overrides
 */
$g_file_download_content_type_overrides = array (
    'docx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
    'dotx' => 'application/vnd.openxmlformats-officedocument.wordprocessingml.template',
    'pptx' => 'application/vnd.openxmlformats-officedocument.presentationml.presentation',
    'ppsx' => 'application/vnd.openxmlformats-officedocument.presentationml.slideshow',
    'potx' => 'application/vnd.openxmlformats-officedocument.presentationml.template',
    'xlsx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
    'xltx' => 'application/vnd.openxmlformats-officedocument.spreadsheetml.template'
);

/**
 * 状态图标
 * @global array $g_status_icon_arr
 */
$g_status_icon_arr = array (
    NONE      => '',
    LOW       => 'fa-chevron-down fa-lg green',
    NORMAL    => 'fa-minus fa-lg orange2',
    HIGH      => 'fa-chevron-up fa-lg red',
    URGENT    => 'fa-arrow-up fa-lg red',
    IMMEDIATE => 'fa-exclamation-triangle fa-lg red'
);

/**
 * 排序图标
 * @global array $g_sort_icon_arr
 */
$g_sort_icon_arr = array (
    ASCENDING  => 'fa-caret-up',
    DESCENDING => 'fa-caret-down'
);

/**
 * 读状态图标
 * @global array $g_unread_icon_arr
 */
$g_unread_icon_arr = array (
    READ   => '',
    UNREAD => 'fa-circle'
);

####################
# 个人首页设置 #
####################

/**
 * BUG 面板 显示数量
 * @global integer $g_my_view_bug_count
 */
$g_my_view_bug_count = 10;

/**
 * 不同 BUG 面板 显示顺序
 * 为显示请设置 为 0
 * @global array $g_my_view_boxes
 */
$g_my_view_boxes = array (
    'assigned'      => '1',
    'unassigned'    => '2',
    'reported'      => '3',
    'resolved'      => '4',
    'recent_mod'    => '5',
    'monitored'     => '6',
    'feedback'      => '0',
    'verify'        => '0',
    'my_comments'   => '0'
);

/**
 * 切换“我的视图”框是否显示在固定位置
 *(即相邻的框从相同的垂直位置开始)
 * @global integer $g_my_view_boxes_fixed_position
 */
$g_my_view_boxes_fixed_position = ON;


#############
# RSS 订阅 #
#############

/**
 * 是否启用 RSS 订阅
 * 不使用请设置为 OFF。
 * @global integer $g_rss_enabled
 */
$g_rss_enabled = ON;


#####################
# Bug 关系 #
#####################

/**
 * 启用关系图支持。
 * 使用图形显示问题关系。
 *
 * 为了使用此功能,您必须安装GraphViz。
 *
 * Graphviz 首页:    http://www.research.att.com/sw/tools/graphviz/
 *
 * 详细信息请参阅 core/graphviz_api.php 和 core/relationship_graph_api.php 头部注释。
 * @global integer $g_relationship_graph_enable
 */
$g_relationship_graph_enable = OFF;

/**
 * 设置 dot 工具路径
 * 并且 WEB 服务器需要有执行权限才能生成关系图。
 * 注意:在 Windows 上 IIS 用户需要执行权限,才能使用PHP的 proc_open函数。
 * @global string $g_dot_tool
 */
$g_dot_tool = '/usr/bin/dot';
/**
 * 设置 neato 工具路径
 * 并且 WEB 服务器需要有执行权限才能生成关系图。
 * 注意:在 Windows 上 IIS 用户需要执行权限,才能使用PHP的 proc_open函数
 * @global string $g_neato_tool
 */
$g_neato_tool = '/usr/bin/neato';

/**
 * Graphviz 字体大小和名称
 * 如果Graphviz无法运行,你需要启用 GD 扩展或确定字体位置。
 * 在Linux上,尝试使用不带扩展名的字段文件。
 * @global string $g_relationship_graph_fontname
 */
$g_relationship_graph_fontname = 'Arial';

/**
 *
 * @global integer $g_relationship_graph_fontsize
 */
$g_relationship_graph_fontsize = 8;

/**
 * 关系图方向
 * 默认水平方向。如果有很多依赖,请使用修改 为 'vertical'(垂直)。
 * @global string $g_relationship_graph_orientation
 */
$g_relationship_graph_orientation = 'horizontal';

/**
 * 关系图的最大深度。
 * 这只影响关系图,影响绘图深度。
 * 值为3,已经足以显示与您当前正在查看相关的问题。
 * @global integer $g_relationship_graph_max_depth
 */
$g_relationship_graph_max_depth = 2;

/**
 * 如果设置为ON,
 * 单击关系图上的问题将打开该问题的错误视图页面,否则将链接到该问题的关系图。
 *
 * @global integer $g_relationship_graph_view_on_click
 */
$g_relationship_graph_view_on_click = OFF;

/**
 * 在下拉框中显示过去年份数。
 * @global integer $g_backward_year_count
 */
$g_backward_year_count = 4;

/**
 * 在下拉框中显示未来年份数。
 * @global integer $g_forward_year_count
 */
$g_forward_year_count = 4;

/**
 * 自定义组操作
 *
 * 此可扩展性模型允许开发新的自定义操作。
 * 这可以通过完全自定义的形式和动作页面或者预先实现的形式和动作页面以及对一些功能的调出来实现。
 * 这些功能将在预定义文件中实现,其名称基于操作名称。
 * 例如,
 * 对于添加注释的操作,操作为EXT_ADD_NOTE,实现它的文件是bug_actiongroup_add_note_inc.php。
 * 有关详细信息,请参阅此文件的实现。
 *
 * 示例:
 *
 * array(
 *    array(
 *        'action' => 'my_custom_action',
 *        'label' => 'my_label',   # 传递给 lang_get_defaulted() 函数
 *        'form_page' => 'my_custom_action_page.php',
 *        'action_page' => 'my_custom_action.php'
 *    )
 *    array(
 *        'action' => 'my_custom_action2',
 *        'form_page' => 'my_custom_action2_page.php',
 *        'action_page' => 'my_custom_action2.php'
 *    )
 *    array(
 *        'action' => 'EXT_ADD_NOTE',  # 你需要实现 bug_actiongroup_<action_without_'EXT_')_inc.php
 *        'label' => 'actiongroup_menu_add_note' # 参见 strings_english.txt 中此标签
 *    )
 * );
 *
 * @global array $g_custom_group_actions
 */
$g_custom_group_actions = array();

####################
# Wiki 集成 #
####################

/**
 * 启用 WIKI ?
 * @global integer $g_wiki_enable
 */
$g_wiki_enable = OFF;

/**
 * Wiki 引擎
 * 支持引擎: 'dokuwiki', 'mediawiki', 'twiki', 'wikka', 'xwiki'
 * @global string $g_wiki_engine
 */
$g_wiki_engine = '';

/**
 * Wiki命名空间
 * 用作与此 MantisBT 安装相关所有页面的根目录。
 *
 * @global string $g_wiki_root_namespace
 */
$g_wiki_root_namespace = 'mantis';

/**
 * 用于托管Wiki引擎的URL。
 * 必须与MantisBT在同一服务器上,需要尾随“/”。
 * 默认情况下,这是从全局MantisBT路径($ g_path)派生的,
 * 用wiki引擎字符串替换URL的路径。
 *(即$g_path ='http://example.com/mantis/'和 $g_wiki_engine ='dokuwiki',则wiki网址为“http://example.com/dokuwiki/”)
 * @global string $g_wiki_engine_url
 */
$g_wiki_engine_url = '';

####################
# 最近访问 #
####################

/**
 * 近期访问 BUG 显示数量。
 * 如果设置为0,则禁用此功能。
 * 否则,它在最近访问的列表中显示问题的最大数量。
 * @global integer $g_recently_visited_count
 */
$g_recently_visited_count = 5;

###############
# BUG标签 #
###############

/**
 * 字符串分隔标记
 * @global integer $g_tag_separator
 */
$g_tag_separator = ',';

/**
 * 查看标签添加到 bug 所需级别
 * @global integer $g_tag_view_threshold
 */
$g_tag_view_threshold = VIEWER;

/**
 * 将标签添加到 bug 所需级别
 * @global integer $g_tag_attach_threshold
 */
$g_tag_attach_threshold = REPORTER;

/**
 * 移除标签所需级别
 * @global integer $g_tag_detach_threshold
 */
$g_tag_detach_threshold = DEVELOPER;

/**
 * 移除同一用户添加的标签所需级别
 * @global integer $g_tag_detach_own_threshold
 */
$g_tag_detach_own_threshold = REPORTER;

/**
 * 创建新标签所需级别
 * @global integer $g_tag_create_threshold
 */
$g_tag_create_threshold = REPORTER;

/**
 * 编辑标签名称和说明所需级别
 * @global integer $g_tag_edit_threshold
 */
$g_tag_edit_threshold = DEVELOPER;

/**
 * 创建用户描述所需级别
 * @global integer $g_tag_edit_own_threshold
 */
$g_tag_edit_own_threshold = REPORTER;

#################
# 时间跟踪 #
#################

/**
 * 打开时间跟踪统计
 * @global integer $g_time_tracking_enabled
 */
$g_time_tracking_enabled = OFF;

/**
 * 计费汇总
 * @global integer $g_time_tracking_with_billing
 */
$g_time_tracking_with_billing = OFF;

/**
 * 停止构建时间跟踪字段
 * @global integer $g_time_tracking_stopwatch
 */
$g_time_tracking_stopwatch = OFF;

/**
 * 查看时间跟踪信息所需级别
 * @global integer $g_time_tracking_view_threshold
 */
$g_time_tracking_view_threshold = DEVELOPER;

/**
 * 添加/编辑时间跟踪信息所需级别
 * @global integer $g_time_tracking_edit_threshold
 */
$g_time_tracking_edit_threshold = DEVELOPER;

/**
 * 运行报表所需级别
 * @global integer $g_time_tracking_reporting_threshold
 */
$g_time_tracking_reporting_threshold = MANAGER;

/**
 * 允许记录时间跟踪而没有BUG注释
 * @global integer $g_time_tracking_without_note
 */
$g_time_tracking_without_note = ON;

############################
# 配置文件相关设置 #
############################

/**
 * 启用配置文件
 * @global integer $g_enable_profiles
 */
$g_enable_profiles = ON;

/**
 * 添加配置级别
 * @global integer $g_add_profile_threshold
 */
$g_add_profile_threshold = REPORTER;

/**
 * 创建修改全局配置文件级别
 * @global integer $g_manage_global_profile_threshold
 */
$g_manage_global_profile_threshold = MANAGER;

/**
 * 允许用户在针对配置相关字段(即平台,os,os构建)更新问题时自由输入内容
 * @global integer $g_allow_freetext_in_profile_fields
 */
$g_allow_freetext_in_profile_fields = ON;

#################
# 插件系统 #
#################

/**
 * 启用/禁用插件
 * @global integer $g_plugins_enabled
 */
$g_plugins_enabled = ON;

/**
 * 插件文件(绝对路径)。
 * @global string $g_plugin_path
 */
$g_plugin_path = $g_absolute_path . 'plugins' . DIRECTORY_SEPARATOR;

/**
 * 管理插件级别。
 * @global integer $g_manage_plugin_threshold
 */
$g_manage_plugin_threshold = ADMINISTRATOR;

/**
* 文件扩展名与MIME类型的映射,用于从插件获取资源时。
*
* @global array $g_plugin_mime_types
*/
$g_plugin_mime_types = array(
        'css' => 'text/css',
        'js'  => 'text/javascript',
        'gif' => 'image/gif',
        'png' => 'image/png',
        'jpg' => 'image/jpeg',
        'jpeg' => 'image/jpeg'
);

/**
 * 强制安装和保护某些插件。
 * 请注意,这不是安装插件的首选方法, 这通常应通过插件管理界面直接完成。
 * 但是,此方法将阻止具有管理访问权限的用户通过插件管理界面卸载插件。
 * 数组中的条目必须是由插件基本名称和优先级组成的键/值对,
 *
 * 因此:
 *
 * = array(
 *     'PluginA' => 5,
 *     'PluginB' => 5,
 *     ...
 *
 * @global $g_plugins_force_installed
 */
$g_plugins_force_installed = array();

############
# 截止日期 #
############

/**
 * 更新到期提交日期级别
 * @global integer $g_due_date_update_threshold
 */
$g_due_date_update_threshold = NOBODY;

/**
 * 查看截止日期级别
 * @global integer $g_due_date_view_threshold
 */
$g_due_date_view_threshold = NOBODY;

/**
 * 默认截止日期值为新提交的问题︰
 * 设置为空,无截止日期。
 * strtotime 所接受的日期 (https://secure.php.net/manual/zh/function.strtotime.php), 如 'today' 或 '+2 days'.
 * @global string $g_due_date_default
 */
$g_due_date_default = '';

################
# 子项目 #
################

/**
 * 是否应启用子项目功能。 在这之前标记关闭,
 * 确保所有子项目都被移动到顶级计划中, 否则将无法访问它们。
 */
$g_subprojects_enabled = ON;

/**
 * 子项目从父项目继承类别。
 */
$g_subprojects_inherit_categories = ON;

/**
 * 子项目从从父项目继承版本。
 */
$g_subprojects_inherit_versions = ON;

##################################
# 调试/开发人员设置 #
##################################

/**
 * 页面显示加载时间。
 * 执行时间显示在所有页面底部。
 *
 * @global integer $g_show_timer
 */
$g_show_timer = OFF;

/**
 * 页面底部显示内存使用情况。
 *
 * @global integer $g_show_memory_usage
 */
$g_show_memory_usage = OFF;

/**
 * 这用于调试mantis中电子邮件功能。 默认情况下为空。
 * 在诊断电子邮件问题时,可以将其设置为有效的电子邮件地址。
 * 所有电子邮件都将发送到此地址,并且邮件正文中包含原始To,Cc和Bcc。
 * 注意:电子邮件不发送到收件人,只发送到调试电子邮件地址。
 * @global string $g_debug_email
 */
$g_debug_email = '';

/**
 * 页面上显示查询的总数。
 *
 * @global integer $g_show_queries_count
 */
$g_show_queries_count = OFF;

/**
 * 错误显示方式
 * 错误定义自 {@link https://secure.php.net/manual/zh/errorfunc.constants.php 预定义常量}
 * 显示方式。可用选项为:
 * - DISPLAY_ERROR_HALT    停止并显示错误消息 (包括变量和回溯,{@link $g_show_detailed_errors} 如果为 ON)
 * - DISPLAY_ERROR_INLINE  显示一行错误并继续执行。
 * - DISPLAY_ERROR_NONE    抑制错误(无显示)。这是未指定错误常量的默认行为。
 *
 * 建议在生产中使用默认设置,并且只显示MantisBT致命错误,抑制所有其他错误类型的输出。
 *
 * 推荐的config_inc.php设置为开发人员模式(这些是自动设置,如果服务器是localhost):
 * $g_display_errors = array(
 *     E_USER_ERROR        => DISPLAY_ERROR_HALT,
 *     E_RECOVERABLE_ERROR => DISPLAY_ERROR_HALT,
 *     E_WARNING           => DISPLAY_ERROR_HALT,
 *     E_ALL               => DISPLAY_ERROR_INLINE,
 * );
 *
 * 警告:E_USER_ERROR应始终设置为DISPLAY_ERROR_HALT。
 * 使用另一个值将导致程序继续执行,这可能导致数据完整性问题或导致MantisBT不能正确地运行。
 *
 * @global array $g_display_errors
 */
$g_display_errors = array(
    E_USER_ERROR        => DISPLAY_ERROR_HALT,
    E_RECOVERABLE_ERROR => DISPLAY_ERROR_HALT,
);

# 当服务器为localhost时,添加开发人员默认值
# 注意:故意不使用SERVER_ADDR,因为它不一定都有值
if( isset( $_SERVER['SERVER_NAME'] ) && ( strcasecmp( $_SERVER['SERVER_NAME'], 'localhost' ) == 0
 || $_SERVER['SERVER_NAME'] == '127.0.0.1'
) ) {
    $g_display_errors[E_WARNING] = DISPLAY_ERROR_HALT;
    $g_display_errors[E_ALL]     = DISPLAY_ERROR_INLINE;
}

/**
 * 详细的错误信息
 * 触发错误时显示变量及其值的列表。
 * 仅适用于配置为DISPLAY_ERROR_HALT的错误类型
 * {@link $g_display_errors}
 *
 * 警告:潜在的安全隐患。
 * 只有当你真的需要它进行调试时才打开它。
 *
 * @global integer $g_show_detailed_errors
 */
$g_show_detailed_errors = OFF;

/**
 * 调试信息
 * 如果此选项被关闭(默认),页面重定向将继续工作,即使发生非致命错误。
 * 出于调试目的,您可以将其设置为ON,以便任何非致命错误将阻止页面重定向,从而允许您查看错误。
 * 只有在调试时打开此选项。
 *
 * @global integer $g_stop_on_errors
 */
$g_stop_on_errors = OFF;

/**
 * 系统日志
 * 这控制记录信息的类型。
 * 可用日志类型:
 *
 * LOG_NONE, LOG_EMAIL, LOG_EMAIL_RECIPIENT, LOG_EMAIL_VERBOSE, LOG_FILTERING,
 * LOG_AJAX, LOG_LDAP, LOG_DATABASE, LOG_WEBSERVICE, LOG_ALL
 *
 * 并可以组合使用
 * {@link https://secure.php.net/manual/zh/language.operators.bitwise.php PHP 位运算符}
 * 有关保存日志的位置的详细信息,请参阅{@link $g_log_destination}。
 *
 * @global integer $g_log_level
 */
$g_log_level = LOG_NONE;

/**
 * 指定数据日志去向
 *
 * 以下五个选项可用:
 * - '':        空意味着 {@link https://secure.php.net/manual/zh/errorfunc.configuration.php#ini.error-log
 *              默认,PHP 日志设置}
 * - 'none':    不输出日志,但仍然会触发EVENT_LOG插件事件。
 * - 'file':    记录到指定文件(绝对路径),例如
 *              'file:/var/log/mantis.log' (Unix) 或
 *              'file:c:/temp/mantisbt.log' (Windows)
 * - 'firebug': 使用Firefox {@link http://getfirebug.com/ Firebug 插件}。
 *              如果用户没有运行firefox,这个选项会使用默认的php错误日志设置。
 * - 'page':    在页面底部显示日志输出。
 *              另请参见{@link $g_show_log_threshold}以限制谁可以查看日志数据。
 *
 * @global string $g_log_destination
 */
$g_log_destination = '';

/**
 * 表示用户查看日志输出所需级别
 *(如果{@link $g_log_destination}是“page”)。
 * 请注意,此级别与用户的全局访问级别进行比较,而不是与当前活动项目级别进行比较。
 *
 * @global integer $g_show_log_threshold
 */
$g_show_log_threshold = ADMINISTRATOR;

##########################
# 配置设置 #
##########################

/**
 * 以下变量列表不应该在数据库中。
 * 用于绕过数据库查找,并在这里查找适当的全局设置。
 * @global array $g_global_settings
 */
$g_global_settings = array(
    'global_settings', 'admin_checks', 'allow_signup', 'allow_anonymous_login',
    'anonymous_account', 'compress_html', 'allow_permanent_cookie',
    'cookie_time_length', 'cookie_path', 'cookie_domain',
    'cookie_prefix', 'string_cookie', 'project_cookie', 'view_all_cookie',
    'manage_config_cookie', 'manage_user_cookie', 'logout_cookie',
    'bug_list_cookie', 'crypto_master_salt', 'custom_headers',
    'database_name', 'db_username', 'db_password', 'db_type',
    'db_table_prefix','db_table_suffix', 'display_errors', 'form_security_validation',
    'hostname','html_valid_tags', 'html_valid_tags_single_line', 'default_language',
    'language_auto_map', 'fallback_language', 'login_method', 'plugins_enabled', 'session_handler',
    'session_save_path', 'session_validation', 'show_detailed_errors', 'show_queries_count',
    'stop_on_errors', 'version_suffix', 'debug_email',
    'fileinfo_magic_db_file', 'css_include_file', 'css_rtl_include_file', 'meta_include_file',
    'file_type_icons', 'path', 'short_path', 'absolute_path', 'core_path',
    'class_path','library_path', 'language_path', 'absolute_path_default_upload_folder',
    'ldap_simulation_file_path', 'plugin_path', 'bottom_include_page', 'top_include_page',
    'default_home_page', 'logout_redirect_page', 'manual_url', 'logo_url', 'wiki_engine_url',
    'cdn_enabled', 'public_config_names', 'email_login_enabled', 'email_ensure_unique'
);

/**
 * 通过SOAP API可用的配置选项列表。
 * 以下配置选项列表用于检查是否允许通过SOAP API查询特定配置选项。
 * @global array $g_public_config_names
 */
$g_public_config_names = array(
    'access_levels_enum_string',
    'action_button_position',
    'add_bugnote_threshold',
    'add_profile_threshold',
    'admin_site_threshold',
    'allow_account_delete',
    'allow_anonymous_login',
    'allow_blank_email',
    'allow_delete_own_attachments',
    'allow_download_own_attachments',
    'allow_file_upload',
    'allow_freetext_in_profile_fields',
    'allow_no_category',
    'allow_permanent_cookie',
    'allow_reporter_close',
    'allow_reporter_reopen',
    'allow_reporter_upload',
    'allow_signup',
    'allowed_files',
    'anonymous_account',
    'antispam_max_event_count',
    'antispam_time_window_in_seconds',
    'assign_sponsored_bugs_threshold',
    'auto_set_status_to_assigned',
    'backward_year_count',
    'bottom_include_page',
    'bug_assigned_status',
    'bug_closed_status_threshold',
    'bug_count_hyperlink_prefix',
    'bug_duplicate_resolution',
    'bug_feedback_status',
    'bug_link_tag',
    'bug_list_cookie',
    'bug_readonly_status_threshold',
    'bug_reminder_threshold',
    'bug_reopen_resolution',
    'bug_reopen_status',
    'bug_resolution_fixed_threshold',
    'bug_resolution_not_fixed_threshold',
    'bug_resolved_status_threshold',
    'bug_revision_drop_threshold',
    'bug_submit_status',
    'bugnote_link_tag',
    'bugnote_order',
    'bugnote_user_change_view_state_threshold',
    'bugnote_user_delete_threshold',
    'bugnote_user_edit_threshold',
    'datetime_picker_format',
    'cdn_enabled',
    'change_view_status_threshold',
    'check_mx_record',
    'complete_date_format',
    'compress_html',
    'cookie_prefix',
    'cookie_time_length',
    'copyright_statement',
    'create_permalink_threshold',
    'create_project_threshold',
    'create_short_url',
    'css_include_file',
    'css_rtl_include_file',
    'csv_separator',
    'custom_field_edit_after_create',
    'custom_field_link_threshold',
    'custom_field_type_enum_string',
    'default_bug_additional_info',
    'default_bug_eta',
    'default_bug_priority',
    'default_bug_projection',
    'default_bug_relationship_clone',
    'default_bug_relationship',
    'default_bug_reproducibility',
    'default_bug_resolution',
    'default_bug_severity',
    'default_bug_steps_to_reproduce',
    'default_bug_view_status',
    'default_bugnote_order',
    'default_bugnote_view_status',
    'default_category_for_moves',
    'default_email_bugnote_limit',
    'default_email_on_assigned_minimum_severity',
    'default_email_on_assigned',
    'default_email_on_bugnote_minimum_severity',
    'default_email_on_bugnote',
    'default_email_on_closed_minimum_severity',
    'default_email_on_closed',
    'default_email_on_feedback_minimum_severity',
    'default_email_on_feedback',
    'default_email_on_new_minimum_severity',
    'default_email_on_new',
    'default_email_on_priority_minimum_severity',
    'default_email_on_priority',
    'default_email_on_reopened_minimum_severity',
    'default_email_on_reopened',
    'default_email_on_resolved_minimum_severity',
    'default_email_on_resolved',
    'default_email_on_status_minimum_severity',
    'default_email_on_status',
    'default_home_page',
    'default_language',
    'default_limit_view',
    'default_manage_tag_prefix',
    'default_manage_user_prefix',
    'default_new_account_access_level',
    'default_project_view_status',
    'default_redirect_delay',
    'default_refresh_delay',
    'default_reminder_view_status',
    'default_show_changed',
    'default_timezone',
    'delete_bug_threshold',
    'delete_bugnote_threshold',
    'delete_project_threshold',
    'development_team_threshold',
    'differentiate_duplicates',
    'disallowed_files',
    'display_bug_padding',
    'display_bugnote_padding',
    'display_project_padding',
    'download_attachments_threshold',
    'due_date_default',
    'due_date_update_threshold',
    'due_date_view_threshold',
    'email_ensure_unique',
    'email_login_enabled',
    'email_notifications_verbose',
    'email_padding_length',
    'email_receive_own',
    'email_separator1',
    'email_separator2',
    'enable_email_notification',
    'enable_eta',
    'enable_product_build',
    'enable_profiles',
    'enable_project_documentation',
    'enable_projection',
    'enable_sponsorship',
    'eta_enum_string',
    'fallback_language',
    'favicon_image',
    'file_upload_max_num',
    'filter_by_custom_fields',
    'filter_custom_fields_per_row',
    'filter_position',
    'forward_year_count',
    'from_email',
    'from_name',
    'handle_bug_threshold',
    'handle_sponsored_bugs_threshold',
    'hide_status_default',
    'history_default_visible',
    'history_order',
    'html_make_links',
    'html_valid_tags_single_line',
    'html_valid_tags',
    'impersonate_user_threshold',
    'inline_file_exts',
    'issue_activity_note_attachments_seconds_threshold',
    'limit_reporters',
    'logo_image',
    'logo_url',
    'logout_cookie',
    'logout_redirect_page',
    'long_process_timeout',
    'lost_password_feature',
    'manage_config_cookie',
    'manage_configuration_threshold',
    'manage_custom_fields_threshold',
    'manage_global_profile_threshold',
    'manage_news_threshold',
    'manage_plugin_threshold',
    'manage_project_threshold',
    'manage_site_threshold',
    'manage_user_threshold',
    'manage_users_cookie',
    'max_dropdown_length',
    'max_failed_login_count',
    'max_file_size',
    'max_lost_password_in_progress_count',
    'mentions_enabled',
    'mentions_tag',
    'meta_include_file',
    'min_refresh_delay',
    'minimum_sponsorship_amount',
    'monitor_add_others_bug_threshold',
    'monitor_bug_threshold',
    'monitor_delete_others_bug_threshold',
    'move_bug_threshold',
    'my_view_boxes_fixed_position',
    'my_view_bug_count',
    'news_enabled',
    'news_limit_method',
    'news_view_limit_days',
    'news_view_limit',
    'normal_date_format',
    'notify_flags',
    'notify_new_user_created_threshold_min',
    'plugins_enabled',
    'preview_attachments_inline_max_size',
    'preview_max_height',
    'preview_max_width',
    'priority_enum_string',
    'priority_significant_threshold',
    'private_bug_threshold',
    'private_bugnote_threshold',
    'private_news_threshold',
    'private_project_threshold',
    'project_cookie',
    'project_status_enum_string',
    'project_user_threshold',
    'project_view_state_enum_string',
    'projection_enum_string',
    'reassign_on_feedback',
    'reauthentication_expiry',
    'reauthentication',
    'recently_visited_count',
    'relationship_graph_enable',
    'relationship_graph_fontname',
    'relationship_graph_fontsize',
    'relationship_graph_max_depth',
    'relationship_graph_orientation',
    'relationship_graph_view_on_click',
    'reminder_receive_threshold',
    'reminder_recipients_monitor_bug',
    'reopen_bug_threshold',
    'report_bug_threshold',
    'report_issues_for_unreleased_versions_threshold',
    'reporter_summary_limit',
    'reproducibility_enum_string',
    'resolution_enum_string',
    'return_path_email',
    'roadmap_update_threshold',
    'roadmap_view_threshold',
    'rss_enabled',
    'search_title',
    'set_bug_sticky_threshold',
    'set_configuration_threshold',
    'set_view_status_threshold',
    'severity_enum_string',
    'severity_significant_threshold',
    'short_date_format',
    'show_assigned_names',
    'show_avatar_threshold',
    'show_avatar',
    'show_bug_project_links',
    'show_changelog_dates',
    'show_detailed_errors',
    'show_footer_menu',
    'show_log_threshold',
    'show_memory_usage',
    'show_monitor_list_threshold',
    'show_priority_text',
    'show_product_version',
    'show_project_menu_bar',
    'show_queries_count',
    'show_realname',
    'show_roadmap_dates',
    'show_sticky_issues',
    'show_timer',
    'show_user_email_threshold',
    'show_user_realname_threshold',
    'show_version_dates_threshold',
    'show_version',
    'signup_use_captcha',
    'sort_by_last_name',
    'sponsor_threshold',
    'sponsorship_currency',
    'sponsorship_enum_string',
    'status_enum_string',
    'status_legend_position',
    'status_percentage_legend',
    'stop_on_errors',
    'store_reminders',
    'stored_query_create_shared_threshold',
    'stored_query_create_threshold',
    'stored_query_use_threshold',
    'string_cookie',
    'subprojects_enabled',
    'subprojects_inherit_categories',
    'subprojects_inherit_versions',
    'summary_category_include_project',
    'tag_attach_threshold',
    'tag_create_threshold',
    'tag_detach_own_threshold',
    'tag_detach_threshold',
    'tag_edit_own_threshold',
    'tag_edit_threshold',
    'tag_separator',
    'tag_view_threshold',
    'time_tracking_edit_threshold',
    'time_tracking_enabled',
    'time_tracking_reporting_threshold',
    'time_tracking_stopwatch',
    'time_tracking_view_threshold',
    'time_tracking_with_billing',
    'time_tracking_without_note',
    'timeline_view_threshold',
    'top_include_page',
    'update_bug_assign_threshold',
    'update_bug_status_threshold',
    'update_bug_threshold',
    'update_bugnote_threshold',
    'update_readonly_bug_threshold',
    'upload_bug_file_threshold',
    'upload_project_file_threshold',
    'use_dynamic_filters',
    'user_login_valid_regex',
    'validate_email',
    'version_suffix',
    'view_all_cookie',
    'view_attachments_threshold',
    'view_bug_threshold',
    'view_changelog_threshold',
    'view_configuration_threshold',
    'view_filters',
    'view_handler_threshold',
    'view_history_threshold',
    'view_proj_doc_threshold',
    'view_sponsorship_details_threshold',
    'view_sponsorship_total_threshold',
    'view_state_enum_string',
    'view_summary_threshold',
    'webmaster_email',
    'webservice_admin_access_level_threshold',
    'webservice_error_when_version_not_found',
    'webservice_eta_enum_default_when_not_found',
    'webservice_priority_enum_default_when_not_found',
    'webservice_projection_enum_default_when_not_found',
    'webservice_readonly_access_level_threshold',
    'webservice_readwrite_access_level_threshold',
    'webservice_resolution_enum_default_when_not_found',
    'webservice_severity_enum_default_when_not_found',
    'webservice_specify_reporter_on_add_access_level_threshold',
    'webservice_status_enum_default_when_not_found',
    'webservice_version_when_not_found',
    'wiki_enable',
    'wiki_engine_url',
    'wiki_engine',
    'wiki_root_namespace',
    'window_title',
    'wrap_in_preformatted_text'
);

# 临时变量不应在全局范围内保持定义
unset( $t_protocol, $t_host, $t_hosts, $t_port, $t_self, $t_path );


############################
# Webservice 配置 #
############################

/**
 * 只读操作访问Web服务所需最低级别。
 *
 * @global integer $g_webservice_readonly_access_level_threshold
 */
$g_webservice_readonly_access_level_threshold = VIEWER;

/**
 * 访问Web服务以进行读/写操作所需最低级别。
 *
 * @global integer $g_webservice_readwrite_access_level_threshold
 */
$g_webservice_readwrite_access_level_threshold = REPORTER;

/**
 * 访问管理员Web服务所需最低级别
 *
 * @global integer $g_webservice_admin_access_level_threshold
 */
$g_webservice_admin_access_level_threshold = MANAGER;

/**
 * 在添加BUG时能够指定记录名称所需最低项目访问级别。
 * 除此以外,当前用户为报告者。
 * 没有此访问级别的用户可以随时执行其他步骤来修改问题并指定其他名称,
 * 但在这种情况下,它将被记录在原始报告问题的历史记录中。
 *
 * @global integer $g_webservice_specify_reporter_on_add_access_level_threshold
 */
$g_webservice_specify_reporter_on_add_access_level_threshold = DEVELOPER;

/**
 * 当Web服务获取未在关联的MantisBT安装中定义的枚举标签时,将使用以下枚举标识。
 * 在这种情况下,将枚举标识设置为由相应配置选项指定的值。
 *
 * @global integer $g_webservice_priority_enum_default_when_not_found
 */
$g_webservice_priority_enum_default_when_not_found = 0;

/**
 * 当Web服务获取未在关联的MantisBT安装中定义的枚举标签时,将使用以下枚举标识。
 * 在这种情况下,将枚举标识设置为由相应配置选项指定的值。
 *
 * @global integer $g_webservice_severity_enum_default_when_not_found
 */
$g_webservice_severity_enum_default_when_not_found = 0;

/**
 * 当Web服务获取未在关联的MantisBT安装中定义的枚举标签时,将使用以下枚举标识。
 * 在这种情况下,将枚举标识设置为由相应配置选项指定的值。
 *
 * @global integer $g_webservice_status_enum_default_when_not_found
 */
$g_webservice_status_enum_default_when_not_found = 0;

/**
 * 当Web服务获取未在关联的MantisBT安装中定义的枚举标签时,将使用以下枚举标识。
 * 在这种情况下,将枚举标识设置为由相应配置选项指定的值。
 *
 * @global integer $g_webservice_resolution_enum_default_when_not_found
 */
$g_webservice_resolution_enum_default_when_not_found = 0;

/**
 * 当Web服务获取未在关联的MantisBT安装中定义的枚举标签时,将使用以下枚举标识。
 * 在这种情况下,将枚举标识设置为由相应配置选项指定的值。
 *
 * @global integer $g_webservice_projection_enum_default_when_not_found
 */
$g_webservice_projection_enum_default_when_not_found = 0;

/**
 * 当Web服务获取未在关联的MantisBT安装中定义的枚举标签时,将使用以下枚举标识。
 * 在这种情况下,将枚举标识设置为由相应配置选项指定的值。
 *
 * @global integer $g_webservice_eta_enum_default_when_not_found
 */
$g_webservice_eta_enum_default_when_not_found = 0;

/**
 * 如果为 ON,且没有找到提供的版本,则会触发 SoapException 异常。
 *
 * @global integer $g_webservice_error_when_version_not_found
 */
$g_webservice_error_when_version_not_found = ON;

/**
 * 如果找不到指定的版本,则使用默认版本
 * $g_webservice_error_when_version_not_found == OFF.
 * (目前这个值不依赖于项目)。
 *
 * @global string $g_webservice_version_when_not_found
 */
$g_webservice_version_when_not_found = '';

####################
# 发布活动 #
####################

/**
 * 如果用户提交了一个说明(#以秒指定),附件会被链接到备注中。0禁用此功能。
 */
$g_issue_activity_note_attachments_seconds_threshold = 3;