[ Index ]

PHP Cross Reference of MantisBT

title

Body

[close]

/ -> config_defaults_inc.php (source)

   1  <?php
   2  # MantisBT - A PHP based bugtracking system
   3  
   4  # MantisBT is free software: you can redistribute it and/or modify
   5  # it under the terms of the GNU General Public License as published by
   6  # the Free Software Foundation, either version 2 of the License, or
   7  # (at your option) any later version.
   8  #
   9  # MantisBT is distributed in the hope that it will be useful,
  10  # but WITHOUT ANY WARRANTY; without even the implied warranty of
  11  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12  # GNU General Public License for more details.
  13  #
  14  # You should have received a copy of the GNU General Public License
  15  # along with MantisBT.  If not, see <http://www.gnu.org/licenses/>.
  16  
  17  /**
  18   * Default Configuration Variables
  19   *
  20   * This file should not be changed. If you want to override any of the values
  21   * defined here, define them in a file called config_inc.php, which will
  22   * be loaded after this file.
  23   *
  24   * In general a value of OFF means the feature is disabled and ON means the
  25   * feature is enabled.  Any other cases will have an explanation.
  26   *
  27   * For more details see http://www.mantisbt.org/docs/master-1.2.x/
  28   *
  29   * @package MantisBT
  30   * @copyright Copyright (C) 2000 - 2002  Kenzaburo Ito - kenito@300baud.org
  31   * @copyright Copyright (C) 2002 - 2011  MantisBT Team - mantisbt-dev@lists.sourceforge.net
  32   * @link http://www.mantisbt.org
  33   */
  34  
  35  /******************************
  36   * MantisBT Database Settings *
  37   ******************************/
  38  
  39  /**
  40   * hostname should be either a hostname or connection string to supply to adodb.
  41   * For example, if you would like to connect to a database server on the local machine,
  42   * set hostname to 'localhost'
  43   * If you need to supply a port to connect to, set hostname as 'localhost:3306'.
  44   * @global string $g_hostname
  45   */
  46  $g_hostname                = 'localhost';
  47  /**
  48   * User name to use for connecting to the database. The user needs to have
  49   * read/write access to the MantisBT database. The default user name is "root".
  50   * @global string $g_db_username
  51   */
  52  $g_db_username            = 'root';
  53  /**
  54   * Password for the specified user name. The default password is empty.
  55   * @global string $g_db_password
  56   */
  57  $g_db_password            = '';
  58   /**
  59    * Name of database that contains MantisBT tables.
  60    * The default database name is "bugtracker".
  61    * @global string $g_database_name
  62    */
  63  $g_database_name        = 'bugtracker';
  64  
  65  /**
  66   * Database Schema Name - used in the case of db2.
  67   * @global string $g_db_schema
  68   */
  69  $g_db_schema            = '';
  70  
  71  /**
  72   * Defines the database type. The supported default is 'mysql'.
  73   * Supported types: 'mysql' or 'mysqli' for MySQL, 'pgsql' for PostgreSQL,
  74   * 'odbc_mssql', 'mssql' for MS SQL Server, 'oci8' for Oracle, and 'db2' for
  75   * DB2.
  76   * @global string $g_db_type
  77   */
  78  $g_db_type                = 'mysql';
  79  
  80  /**
  81   * adodb Data Source Name
  82   * This is an EXPERIMENTAL field.
  83   * If the above database settings, do not provide enough flexibilty, it is
  84   * possible to specify a dsn for the database connection. For further details,
  85   * currently, you need to see the adodb manual at
  86   * http://phplens.com/adodb/code.initialization.html#dsnsupport. For example,
  87   * if db_type is odbc_mssql. The following is an example dsn:
  88   * "Driver={SQL Server Native Client 10.0};SERVER=.\sqlexpress;DATABASE=bugtracker2;UID=mantis;PWD=passwd;"
  89   * NOTE: the installer does not yet fully support the use of dsn's
  90   */
  91  $g_dsn = '';
  92  
  93  /**************************
  94   * MantisBT Path Settings *
  95   **************************/
  96  
  97  if ( isset ( $_SERVER['SCRIPT_NAME'] ) ) {
  98      $t_protocol = 'http';
  99      if ( isset( $_SERVER['HTTP_X_FORWARDED_PROTO'] ) ) {
 100          $t_protocol= $_SERVER['HTTP_X_FORWARDED_PROTO'];
 101      } else if ( isset( $_SERVER['HTTPS'] ) && ( strtolower( $_SERVER['HTTPS'] ) != 'off' ) ) {
 102          $t_protocol = 'https';
 103      }
 104  
 105      # $_SERVER['SERVER_PORT'] is not defined in case of php-cgi.exe
 106      if ( isset( $_SERVER['SERVER_PORT'] ) ) {
 107          $t_port = ':' . $_SERVER['SERVER_PORT'];
 108          if ( ( ':80' == $t_port && 'http' == $t_protocol )
 109            || ( ':443' == $t_port && 'https' == $t_protocol )) {
 110              $t_port = '';
 111          }
 112      } else {
 113          $t_port = '';
 114      }
 115  
 116      if ( isset( $_SERVER['HTTP_X_FORWARDED_HOST'] ) ) { // Support ProxyPass
 117          $t_hosts = explode( ',', $_SERVER['HTTP_X_FORWARDED_HOST'] );
 118          $t_host = $t_hosts[0];
 119      } else if ( isset( $_SERVER['HTTP_HOST'] ) ) {
 120          $t_host = $_SERVER['HTTP_HOST'];
 121      } else if ( isset( $_SERVER['SERVER_NAME'] ) ) {
 122          $t_host = $_SERVER['SERVER_NAME'] . $t_port;
 123      } else if ( isset( $_SERVER['SERVER_ADDR'] ) ) {
 124          $t_host = $_SERVER['SERVER_ADDR'] . $t_port;
 125      } else {
 126          $t_host = 'localhost';
 127      }
 128  
 129      $t_path = str_replace( basename( $_SERVER['PHP_SELF'] ), '', $_SERVER['PHP_SELF'] );
 130      $t_path = basename( $t_path ) == "admin" ? rtrim( dirname( $t_path ), '/\\' ) . '/' : $t_path;
 131      $t_path = basename( $t_path ) == "soap" ? rtrim( dirname( dirname( $t_path ) ), '/\\' ) . '/' : $t_path;
 132  
 133      $t_url    = $t_protocol . '://' . $t_host . $t_path;
 134  
 135  } else {
 136      $t_path = '';
 137      $t_host = '';
 138      $t_protocol = '';
 139  }
 140  
 141  /**
 142   * path to your installation as seen from the web browser
 143   * requires trailing /
 144   * @global string $g_path
 145   */
 146  $g_path    = isset( $t_url ) ? $t_url : 'http://localhost/mantisbt/';
 147  
 148  /**
 149   * path to your images directory (for icons)
 150   * requires trailing /
 151   * @global string $g_icon_path
 152   */
 153  $g_icon_path = '%path%images/';
 154  
 155  /**
 156   * Short web path without the domain name
 157   * requires trailing /
 158   * @global string $g_short_path
 159   */
 160  $g_short_path = $t_path;
 161  
 162  /**
 163   * absolute path to your installation.  Requires trailing / or \
 164   * @global string $g_absolute_path
 165   */
 166  $g_absolute_path = dirname( __FILE__ ) . DIRECTORY_SEPARATOR;
 167  
 168  /**
 169   * absolute patch to your core files. The default is usually OK,
 170   * unless you moved the 'core' directory out of your webroot (recommended).
 171   * @global string $g_core_path
 172   */
 173  $g_core_path = $g_absolute_path . 'core' . DIRECTORY_SEPARATOR;
 174  
 175  /**
 176   * absolute path to class files.  Requires trailing / or \
 177   * @global string $g_class_path
 178   */
 179  $g_class_path = $g_core_path . 'classes' . DIRECTORY_SEPARATOR;
 180  
 181  /**
 182   * absolute path to library files. Requires trailing / or \
 183   * @global string $g_library_path
 184   */
 185  $g_library_path = $g_absolute_path . 'library' . DIRECTORY_SEPARATOR;
 186  
 187  /**
 188   * absolute path to language files. Requires trailing / or \
 189   * @global string $g_language_path
 190   */
 191  $g_language_path = $g_absolute_path . 'lang' . DIRECTORY_SEPARATOR;
 192  
 193  /**
 194   * absolute path to custom strings file.
 195   * This file allows overriding of strings declared in the language file, or in plugin language files
 196   * Two formats are supported:
 197   * Legacy format: $s_*
 198   * New format: define a $s_custom_messages array as follows:
 199   * $s_custom_messages = array( 'en' => array( string => string ) ) ;
 200   * NOTE: you can not mix/merge old/new formats within this file.
 201   * @global string $g_custom_strings_file
 202   */
 203  $g_custom_strings_file = $g_absolute_path . 'custom_strings_inc.php';
 204  
 205  /**
 206   * Used to link to manual for User Documentation.
 207   * @global string $g_manual_url
 208   */
 209  $g_manual_url = 'http://www.mantisbt.org/docs/master-1.2.x/';
 210  
 211  /**************
 212   * Web Server *
 213   **************/
 214  
 215  /**
 216   * Session handler.  Possible values:
 217   *  'php' -> Default PHP filesystem sessions
 218   *  'adodb' -> Database storage sessions
 219   *  'memcached' -> Memcached storage sessions
 220   * @global string $g_session_handler
 221   */
 222  $g_session_handler = 'php';
 223  
 224  /**
 225   * Session save path.  If false, uses default value as set by session handler.
 226   * @global bool $g_session_save_path
 227   */
 228  $g_session_save_path = false;
 229  
 230  /**
 231   * Session validation
 232   * WARNING: Disabling this could be a potential security risk!!
 233   * @global int $g_session_validation
 234   */
 235  $g_session_validation = ON;
 236  
 237  /**
 238   * Form security validation.
 239   * This protects against Cross-Site Request Forgery, but some proxy servers may
 240   * not correctly work with this option enabled because they cache pages
 241   * incorrectly.
 242   * WARNING: Disabling this is a security risk!!
 243   */
 244  $g_form_security_validation = ON;
 245  
 246  /*****************************
 247   * Security and Cryptography *
 248   *****************************/
 249  
 250  /**
 251   * Master salt value used for cryptographic hashing throughout MantisBT. This
 252   * value must be kept secret at all costs. You must generate a unique and
 253   * random salt value for each installation of MantisBT you control. The
 254   * minimum length of this string must be at least 16 characters.
 255   *
 256   * The value you select for this salt should be a long string generated using
 257   * a secure random number generator. An example for Linux systems is:
 258   *    cat /dev/urandom | head -c 64 | base64
 259   * Note that the number of bits of entropy per byte of output from /dev/urandom
 260   * is not 8. If you're particularly paranoid and don't mind waiting a long
 261   * time, you could use /dev/random to get much closer to 8 bits of entropy per
 262   * byte. Moving the mouse (if possible) while generating entropy via
 263   * /dev/random will greatly improve the speed at which /dev/random produces
 264   * entropy.
 265   *
 266   * WARNING: This configuration option has a profound impact on the security of
 267   * your MantisBT installation. Failure to set this configuration option
 268   * correctly could lead to your MantisBT installation being compromised. Ensure
 269   * that this value remains secret. Treat it with the same security that you'd
 270   * treat the password to your MantisDB database.
 271   *
 272   * This setting is blank by default. MantisBT will not operate in this state.
 273   * Hence you are forced to change the value of this configuration option.
 274   *
 275   * @global string $g_crypto_master_salt
 276   */
 277  $g_crypto_master_salt = '';
 278  
 279  /****************************
 280   * Signup and Lost Password *
 281   ****************************/
 282  
 283  /**
 284   * allow users to signup for their own accounts.
 285   * Mail settings must be correctly configured in order for this to work
 286   * @global int $g_allow_signup
 287   */
 288  $g_allow_signup            = ON;
 289  
 290  /**
 291   * Max. attempts to login using a wrong password before lock the account.
 292   * When locked, it's required to reset the password (lost password)
 293   * Value resets to zero at each successfully login
 294   * Set to OFF to disable this control
 295   * @global int $g_max_failed_login_count
 296   */
 297  $g_max_failed_login_count = OFF;
 298  
 299  /**
 300   * access level required to be notified when a new user has been created using
 301   * the "signup form"
 302   * @global int $g_notify_new_user_created_threshold_min
 303   */
 304  $g_notify_new_user_created_threshold_min = ADMINISTRATOR;
 305  
 306  /**
 307   * if ON users will be sent their password when reset.
 308   * if OFF the password will be set to blank. If set to ON, mail settings must be
 309   * correctly configured.
 310   * @global int $g_send_reset_password
 311   */
 312  $g_send_reset_password    = ON;
 313  
 314  /**
 315   * use captcha image to validate subscription it requires GD library installed
 316   * @global int $g_signup_use_captcha
 317   */
 318  $g_signup_use_captcha    = ON;
 319  
 320  /**
 321   * absolute path (with trailing slash!) to folder which contains your
 322   * TrueType-Font files used to create the captcha image and since 0.19.3 for
 323   * the Relationship Graphs
 324   * @global string $g_system_font_folder
 325   */
 326  $g_system_font_folder    = '';
 327  
 328  /**
 329   * font name used to create the captcha image. i.e. arial.ttf
 330   * (the font file has to exist in the system_font_folder)
 331   * @global string $g_font_per_captcha
 332   */
 333  $g_font_per_captcha    = 'arial.ttf';
 334  
 335  /**
 336   * Setting to disable the 'lost your password' feature.
 337   * @global int $g_lost_password_feature
 338   */
 339  $g_lost_password_feature = ON;
 340  
 341  /**
 342   * Max. simultaneous requests of 'lost password'
 343   * When this value is reached, it's no longer possible to request new password
 344   * reset. Value resets to zero at each successfully login
 345   * @global int $g_max_lost_password_in_progress_count
 346   */
 347  $g_max_lost_password_in_progress_count = 3;
 348  
 349  /***************************
 350   * MantisBT Email Settings *
 351   ***************************/
 352  
 353  /**
 354   * Webmaster email address. This is shown publicly at the bottom of each page
 355   * and thus may be suspectible to being detected by spam email harvesters.
 356   * @global string $g_webmaster_email
 357   */
 358  $g_webmaster_email        = 'webmaster@example.com';
 359  
 360  /**
 361   * the sender email, part of 'From: ' header in emails
 362   * @global string $g_from_email
 363   */
 364  $g_from_email            = 'noreply@example.com';
 365  
 366  /**
 367   * the sender name, part of 'From: ' header in emails
 368   * @global string $g_from_name
 369   */
 370  $g_from_name            = 'Mantis Bug Tracker';
 371  
 372  /**
 373   * the return address for bounced mail
 374   * @global string $g_return_path_email
 375   */
 376  $g_return_path_email    = 'admin@example.com';
 377  
 378  /**
 379   * Allow email notification.
 380   * Set to ON to enable email notifications, OFF to disable them. Note that
 381   * disabling email notifications has no effect on emails generated as part
 382   * of the user signup process. When set to OFF, the password reset feature
 383   * is disabled. Additionally, notifications of administrators updating
 384   * accounts are not sent to users.
 385   * @global int $g_enable_email_notification
 386   */
 387  $g_enable_email_notification    = ON;
 388  
 389  
 390  /**
 391   * The following two config options allow you to control who should get email
 392   * notifications on different actions/statuses.  The first option
 393   * (default_notify_flags) sets the default values for different user
 394   * categories.  The user categories are:
 395   *
 396   *      'reporter': the reporter of the bug
 397   *       'handler': the handler of the bug
 398   *       'monitor': users who are monitoring a bug
 399   *      'bugnotes': users who have added a bugnote to the bug
 400   *      'explicit': users who are explicitly specified by the code based on the
 401   *                  action (e.g. user added to monitor list).
 402   * 'threshold_max': all users with access <= max
 403   * 'threshold_min': ..and with access >= min
 404   *
 405   * The second config option (notify_flags) sets overrides for specific
 406   * actions/statuses. If a user category is not listed for an action, the
 407   * default from the config option above is used.  The possible actions are:
 408   *
 409   *             'new': a new bug has been added
 410   *           'owner': a bug has been assigned to a new owner
 411   *        'reopened': a bug has been reopened
 412   *         'deleted': a bug has been deleted
 413   *         'updated': a bug has been updated
 414   *         'bugnote': a bugnote has been added to a bug
 415   *         'sponsor': sponsorship has changed on this bug
 416   *        'relation': a relationship has changed on this bug
 417   *         'monitor': an issue is monitored.
 418   *        '<status>': eg: 'resolved', 'closed', 'feedback', 'acknowledged', etc.
 419   *                     this list corresponds to $g_status_enum_string
 420   *
 421   * If you wanted to have all developers get notified of new bugs you might add
 422   * the following lines to your config file:
 423   *
 424   * $g_notify_flags['new']['threshold_min'] = DEVELOPER;
 425   * $g_notify_flags['new']['threshold_max'] = DEVELOPER;
 426   *
 427   * You might want to do something similar so all managers are notified when a
 428   * bug is closed.  If you didn't want reporters to be notified when a bug is
 429   * closed (only when it is resolved) you would use:
 430   *
 431   * $g_notify_flags['closed']['reporter'] = OFF;
 432   *
 433   * @global array $g_default_notify_flags
 434   */
 435  
 436  $g_default_notify_flags = array(
 437      'reporter'      => ON,
 438      'handler'       => ON,
 439      'monitor'       => ON,
 440      'bugnotes'      => ON,
 441      'explicit'      => ON,
 442      'threshold_min' => NOBODY,
 443      'threshold_max' => NOBODY
 444  );
 445  
 446  /**
 447   * We don't need to send these notifications on new bugs
 448   * (see above for info on this config option)
 449   * @todo (though I'm not sure they need to be turned off anymore
 450   *      - there just won't be anyone in those categories)
 451   *      I guess it serves as an example and a placeholder for this
 452   *      config option
 453   * @see $g_default_notify_flags
 454   * @global array $g_notify_flags
 455   */
 456  $g_notify_flags['new'] = array(
 457      'bugnotes' => OFF,
 458      'monitor'  => OFF
 459  );
 460  
 461  $g_notify_flags['monitor'] = array(
 462      'reporter'      => OFF,
 463      'handler'       => OFF,
 464      'monitor'       => OFF,
 465      'bugnotes'      => OFF,
 466      'explicit'      => ON,
 467      'threshold_min' => NOBODY,
 468      'threshold_max' => NOBODY
 469  );
 470  
 471  /**
 472   * Whether user's should receive emails for their own actions
 473   * @global int $g_email_receive_own
 474   */
 475  $g_email_receive_own = OFF;
 476  
 477  /**
 478   * set to OFF to disable email check
 479   * @global int $g_validate_email
 480   */
 481  $g_validate_email = ON;
 482  
 483  /**
 484   * set to OFF to disable email check
 485   * @global int $g_check_mx_record
 486   */
 487  $g_check_mx_record = OFF;
 488  
 489  /**
 490   * if ON, allow the user to omit an email field
 491   * note if you allow users to create their own accounts, they
 492   * must specify an email at that point, no matter what the value
 493   * of this option is.  Otherwise they wouldn't get their passwords.
 494   * @global int $g_allow_blank_email
 495   */
 496  $g_allow_blank_email = OFF;
 497  
 498  /**
 499   * Only allow and send email to addresses in the given domain
 500   * For example:
 501   * $g_limit_email_domain        = 'users.sourceforge.net';
 502   * @global string|int $g_limit_email_domain
 503   */
 504  $g_limit_email_domain = OFF;
 505  
 506  /**
 507   * This specifies the access level that is needed to get the mailto: links.
 508   * @global int $g_show_user_email_threshold
 509   */
 510  $g_show_user_email_threshold = NOBODY;
 511  
 512  /**
 513   * This specifies the access level that is needed to see realnames on user view
 514   * page
 515   * @global int $g_show_user_realname_threshold
 516   */
 517  $g_show_user_realname_threshold = NOBODY;
 518  
 519  /**
 520   * If use_x_priority is set to ON, what should the value be?
 521   * Urgent = 1, Not Urgent = 5, Disable = 0
 522   * Note: some MTAs interpret X-Priority = 0 to mean 'Very Urgent'
 523   * @global int $g_mail_priority
 524   */
 525  $g_mail_priority = 3;
 526  
 527  /**
 528   * select the method to mail by:
 529   * PHPMAILER_METHOD_MAIL - mail()
 530   * PHPMAILER_METHOD_SENDMAIL - sendmail
 531   * PHPMAILER_METHOD_SMTP - SMTP
 532   * @global int $g_phpMailer_method
 533   */
 534  $g_phpMailer_method = PHPMAILER_METHOD_MAIL;
 535  
 536  /**
 537   * This option allows you to use a remote SMTP host.  Must use the phpMailer script
 538   * One or more hosts, separated by a semicolon, can be listed.
 539   * You can also specify a different port for each host by using this
 540   * format: [hostname:port] (e.g. "smtp1.example.com:25;smtp2.example.com").
 541   * Hosts will be tried in order.
 542   * @global string $g_smtp_host
 543   */
 544  $g_smtp_host = 'localhost';
 545  
 546  /**
 547   * These options allow you to use SMTP Authentication when you use a remote
 548   * SMTP host with phpMailer.  If smtp_username is not '' then the username
 549   * and password will be used when logging in to the SMTP server.
 550   * @global string $g_smtp_username
 551   */
 552  $g_smtp_username = '';
 553  
 554  /**
 555   * SMTP Server Authentication password
 556   * @global string $g_smtp_password
 557   */
 558  $g_smtp_password = '';
 559  
 560  /**
 561   * This control the connection mode to SMTP server. Can be 'ssl' or 'tls'
 562   * @global string $g_smtp_connection_mode
 563   */
 564  $g_smtp_connection_mode = '';
 565  
 566  /**
 567   * The smtp port to use.  The typical SMTP ports are 25 and 587.  The port to
 568   * use will depend on the SMTP server configuration and hence others may be
 569   * used.
 570   * @global int $g_smtp_port
 571   */
 572  $g_smtp_port = 25;
 573  
 574  /**
 575   * It is recommended to use a cronjob or a scheduler task to send emails. The
 576   * cronjob should typically run every 5 minutes.  If no cronjob is used,then
 577   * user will have to wait for emails to be sent after performing an action
 578   * which triggers notifications.  This slows user performance.
 579   * @global int $g_email_send_using_cronjob
 580   */
 581  $g_email_send_using_cronjob = OFF;
 582  
 583  /**
 584   * Specify whether e-mails should be sent with the category set or not. This
 585   * is tested with Microsoft Outlook.  More testing for this feature + other
 586   * formats will be added in the future.
 587   * OFF, EMAIL_CATEGORY_PROJECT_CATEGORY (format: [Project] Category)
 588   * @global int $g_email_set_category
 589   */
 590  $g_email_set_category = OFF;
 591  
 592  /**
 593   * email separator and padding
 594   * @global string $g_email_separator1
 595   */
 596  $g_email_separator1 = str_pad('', 70, '=');
 597  /**
 598   * email separator and padding
 599   * @global string $g_email_separator2
 600   */
 601  $g_email_separator2 = str_pad('', 70, '-');
 602  /**
 603   * email separator and padding
 604   * @global int $g_email_padding_length
 605   */
 606  $g_email_padding_length    = 28;
 607  
 608  /***************************
 609   * MantisBT Version String *
 610   ***************************/
 611  
 612  /**
 613   * Set to off by default to not expose version to users
 614   * @global int $g_show_version
 615   */
 616  $g_show_version = OFF;
 617  
 618  /**
 619   * String appended to the MantisBT version when displayed to the user
 620   * @global string $g_version_suffix
 621   */
 622  $g_version_suffix = '';
 623  
 624  /**
 625   * Custom copyright and licensing statement shown at the footer of each page.
 626   * Can contain HTML elements that are valid children of the <address> element.
 627   * This string is treated as raw HTML and thus you must use &amp; instead of &.
 628   * @global string $g_copyright_statement
 629   */
 630  $g_copyright_statement = '';
 631  
 632  /******************************
 633   * MantisBT Language Settings *
 634   ******************************/
 635  
 636  /**
 637   * If the language is set to 'auto', the actual language is determined by the
 638   * user agent (web browser) language preference.
 639   * @global string $g_default_language
 640   */
 641  $g_default_language = 'auto';
 642  
 643  /**
 644   * list the choices that the users are allowed to choose
 645   * @global array $g_language_choices_arr
 646   */
 647  $g_language_choices_arr    = array(
 648      'auto',
 649      'afrikaans',
 650      'amharic',
 651      'arabic',
 652      'arabicegyptianspoken',
 653      'breton',
 654      'bulgarian',
 655      'catalan',
 656      'chinese_simplified',
 657      'chinese_traditional',
 658      'croatian',
 659      'czech',
 660      'danish',
 661      'dutch',
 662      'english',
 663      'estonian',
 664      'finnish',
 665      'french',
 666      'galician',
 667      'german',
 668      'greek',
 669      'hebrew',
 670      'hungarian',
 671      'icelandic',
 672      'italian',
 673      'japanese',
 674      'korean',
 675      'latvian',
 676      'lithuanian',
 677      'macedonian',
 678      'norwegian_bokmal',
 679      'norwegian_nynorsk',
 680      'occitan',
 681      'polish',
 682      'portuguese_brazil',
 683      'portuguese_standard',
 684      'ripoarisch',
 685      'romanian',
 686      'russian',
 687      'serbian',
 688      'slovak',
 689      'slovene',
 690      'spanish',
 691      'swissgerman',
 692      'swedish',
 693      'tagalog',
 694      'turkish',
 695      'ukrainian',
 696      'urdu',
 697      'volapuk',
 698  );
 699  
 700  /**
 701   * Browser language mapping for 'auto' language selection
 702   * @global array $g_language_auto_map
 703   */
 704  $g_language_auto_map = array(
 705      'af' => 'afrikaans',
 706      'am' => 'amharic',
 707      'ar' => 'arabic',
 708      'arz' => 'arabicegyptianspoken',
 709      'bg' => 'bulgarian',
 710      'br' => 'breton',
 711      'ca' => 'catalan',
 712      'zh-cn, zh-sg, zh' => 'chinese_simplified',
 713      'zh-hk, zh-tw' => 'chinese_traditional',
 714      'cs' => 'czech',
 715      'da' => 'danish',
 716      'nl-be, nl' => 'dutch',
 717      'en-us, en-gb, en-au, en' => 'english',
 718      'et' => 'estonian',
 719      'fi' => 'finnish',
 720      'fr-ca, fr-be, fr-ch, fr' => 'french',
 721      'gl' => 'galician',
 722      'gsw' => 'swissgerman',
 723      'de-de, de-at, de-ch, de' => 'german',
 724      'he' => 'hebrew',
 725      'hu' => 'hungarian',
 726      'hr' => 'croatian',
 727      'is' => 'icelandic',
 728      'it-ch, it' => 'italian',
 729      'ja' => 'japanese',
 730      'ko' => 'korean',
 731      'ksh' => 'ripoarisch',
 732      'lt' => 'lithuanian',
 733      'lv' => 'latvian',
 734      'mk' => 'macedonian',
 735      'no' => 'norwegian_bokmal',
 736      'nn' => 'norwegian_nynorsk',
 737      'oc' => 'occitan',
 738      'pl' => 'polish',
 739      'pt-br' => 'portuguese_brazil',
 740      'pt' => 'portuguese_standard',
 741      'ro-mo, ro' => 'romanian',
 742      'ru-mo, ru-ru, ru-ua, ru' => 'russian',
 743      'sr' => 'serbian',
 744      'sk' => 'slovak',
 745      'sl' => 'slovene',
 746      'es-mx, es-co, es-ar, es-cl, es-pr, es' => 'spanish',
 747      'sv-fi, sv' => 'swedish',
 748      'tl' => 'tagalog',
 749      'tr' => 'turkish',
 750      'uk' => 'ukrainian',
 751      'vo' => 'volapuk',
 752  );
 753  
 754  /**
 755   * Fallback for automatic language selection
 756   * @global string $g_fallback_language
 757   */
 758  $g_fallback_language = 'english';
 759  
 760  /*****************************
 761   * MantisBT Display Settings *
 762   *****************************/
 763  
 764  /**
 765   * browser window title
 766   * @global string $g_window_title
 767   */
 768  $g_window_title = 'MantisBT';
 769  
 770  /**
 771   * title at top of html page (empty by default, since there is a logo now)
 772   * @global string $g_page_title
 773   */
 774  $g_page_title = '';
 775  
 776  /**
 777   * Check for admin directory, database upgrades, etc.
 778   * @global int $g_admin_checks
 779   */
 780  $g_admin_checks = ON;
 781  
 782  /**
 783   * Favicon image
 784   * @global string $g_favicon_image
 785   */
 786  $g_favicon_image = 'images/favicon.ico';
 787  
 788  /**
 789   * Logo
 790   * @global string $g_logo_image
 791   */
 792  $g_logo_image = 'images/mantis_logo.gif';
 793  
 794  /**
 795   * Logo URL link
 796   * @global string $g_logo_url
 797   */
 798  $g_logo_url = '%default_home_page%';
 799  
 800  /**
 801   * Re-authentication required for admin areas
 802   * @global int $g_reauthentication
 803   */
 804  $g_reauthentication = ON;
 805  
 806  /**
 807   *
 808   * @global int $g_reauthentication_expiry
 809   */
 810  $g_reauthentication_expiry = TOKEN_EXPIRY_AUTHENTICATED;
 811  
 812  /**
 813   * Specifies whether to enable support for project documents or not.
 814   * This feature is deprecated and is expected to be moved to a plugin
 815   * in the future.
 816   * @global int $g_enable_project_documentation
 817   */
 818  $g_enable_project_documentation = OFF;
 819  
 820  /**
 821   * Display another instance of the menu at the bottom.  The top menu will still
 822   * remain.
 823   * @global int $g_show_footer_menu
 824   */
 825  $g_show_footer_menu = OFF;
 826  
 827  /**
 828   * show extra menu bar with all available projects
 829   * @global int $g_show_project_menu_bar
 830   */
 831  $g_show_project_menu_bar = OFF;
 832  
 833  /**
 834   * show assigned to names
 835   * This is in the view all pages
 836   * @global int $g_show_assigned_names
 837   */
 838  $g_show_assigned_names = ON;
 839  
 840  /**
 841   * show priority as icon
 842   * OFF: Shows priority as icon in view all bugs page
 843   * ON:  Shows priority as text in view all bugs page
 844   * @global int $g_show_priority_text
 845   */
 846  $g_show_priority_text = OFF;
 847  
 848  /**
 849   * Define the priority level at which a bug becomes significant. Significant
 850   * bugs are displayed with emphasis. Set this value to -1 to disable the
 851   * feature.
 852   * @global int $g_priority_significant_threshold
 853   */
 854  $g_priority_significant_threshold = HIGH;
 855  
 856  /**
 857   * Define the severity level at which a bug becomes significant.
 858   * Significant bugs are displayed with emphasis. Set this value to -1 to
 859   * disable the feature.
 860   * @global int $g_severity_significant_threshold
 861   */
 862  $g_severity_significant_threshold = MAJOR;
 863  
 864  /**
 865   * The default columns to be included in the View Issues Page.
 866   * This can be overriden using Manage -> Manage Configuration -> Manage Columns
 867   * Also each user can configure their own columns using My Account -> Manage
 868   * Columns. Some of the columns specified here can be removed automatically if
 869   * they conflict with other configuration. Or if the current user doesn't have
 870   * the necessary access level to view them. For example, sponsorship_total will
 871   * be removed if sponsorships are disabled. To include custom field 'xyz',
 872   * include the column name as 'custom_xyz'.
 873   *
 874   * Standard Column Names (i.e. names to choose from):
 875   * selection, edit, id, project_id, reporter_id, handler_id, priority,
 876   * reproducibility, projection, eta, resolution, fixed_in_version, view_state,
 877   * os, os_build, build (for product build), platform, version, date_submitted,
 878   * attachment, category, sponsorship_total, severity, status, last_updated,
 879   * summary, bugnotes_count, description, steps_to_reproduce,
 880   * additional_information
 881   *
 882   * @global array $g_view_issues_page_columns
 883   */
 884  $g_view_issues_page_columns = array (
 885      'selection', 'edit', 'priority', 'id', 'sponsorship_total',
 886      'bugnotes_count', 'attachment', 'category_id', 'severity', 'status',
 887      'last_updated', 'summary'
 888  );
 889  
 890  /**
 891   * The default columns to be included in the Print Issues Page. This can be
 892   * overriden using Manage -> Manage Configuration -> Manage Columns. Also each
 893   * user can configure their own columns using My Account -> Manage Columns.
 894   * @global array $g_print_issues_page_columns
 895   */
 896  $g_print_issues_page_columns = array (
 897      'selection', 'priority', 'id', 'sponsorship_total', 'bugnotes_count',
 898      'attachment', 'category_id', 'severity', 'status', 'last_updated', 'summary'
 899  );
 900  
 901  /**
 902   * The default columns to be included in the CSV export. This can be overriden
 903   * using Manage -> Manage Configuration -> Manage Columns. Also each user can
 904   * configure their own columns using My Account -> Manage Columns.
 905   * @global array $g_csv_columns
 906   */
 907  $g_csv_columns = array (
 908      'id', 'project_id', 'reporter_id', 'handler_id', 'priority',
 909      'severity', 'reproducibility', 'version', 'projection', 'category_id',
 910      'date_submitted', 'eta', 'os', 'os_build', 'platform', 'view_state',
 911      'last_updated', 'summary', 'status', 'resolution', 'fixed_in_version'
 912  );
 913  
 914  /**
 915   * The default columns to be included in the Excel export. This can be
 916   * overriden using Manage -> Manage Configuration -> Manage Columns. Also each
 917   * user can configure their own columns using My Account -> Manage Columns
 918   * @global array $g_excel_columns
 919   */
 920  $g_excel_columns = array (
 921      'id', 'project_id', 'reporter_id', 'handler_id', 'priority', 'severity',
 922      'reproducibility', 'version', 'projection', 'category_id',
 923      'date_submitted', 'eta', 'os', 'os_build', 'platform', 'view_state',
 924      'last_updated', 'summary', 'status', 'resolution', 'fixed_in_version'
 925  );
 926  
 927  /**
 928   * show projects when in All Projects mode
 929   * @global int $g_show_bug_project_links
 930   */
 931  $g_show_bug_project_links = ON;
 932  
 933  /**
 934   * Position of the status colour legend, can be: POSITION_*
 935   * see constant_inc.php. (*: TOP , BOTTOM , or BOTH)
 936   * @global int $g_status_legend_position
 937   */
 938  $g_status_legend_position = STATUS_LEGEND_POSITION_BOTTOM;
 939  
 940  /**
 941   * Show a legend with percentage of bug status
 942   * x% of all bugs are new, y% of all bugs are assigned and so on.
 943   * If set to ON it will printed below the status colour legend.
 944   * @global int $g_status_percentage_legend
 945   */
 946  $g_status_percentage_legend = OFF;
 947  
 948  /**
 949   * Position of the filter box, can be: POSITION_*
 950   * POSITION_TOP, POSITION_BOTTOM, or POSITION_NONE for none.
 951   * @global int $g_filter_position
 952   */
 953  $g_filter_position = FILTER_POSITION_TOP;
 954  
 955  /**
 956   * Position of action buttons when viewing issues.
 957   * Can be: POSITION_TOP, POSITION_BOTTOM, or POSITION_BOTH.
 958   * @global int $g_action_button_position
 959   */
 960  $g_action_button_position = POSITION_BOTTOM;
 961  
 962  /**
 963   * show product versions in create, view and update screens
 964   * ON forces display even if none are defined
 965   * OFF suppresses display
 966   * AUTO suppresses the display if there are no versions defined for the project
 967   * @global int $g_show_product_version
 968   */
 969  $g_show_product_version = AUTO;
 970  
 971  /**
 972   * The access level threshold at which users will see the date of release
 973   * for product versions. Dates will be shown next to the product version,
 974   * target version and fixed in version fields. Set this threshold to NOBODY
 975   * to disable the feature.
 976   * @global int $g_show_version_dates_threshold
 977   */
 978  $g_show_version_dates_threshold = NOBODY;
 979  
 980  /**
 981   * show users with their real name or not
 982   * @global int $g_show_realname
 983   */
 984  $g_show_realname = OFF;
 985  
 986  /**
 987   * leave off for now
 988   * @global int $g_differentiate_duplicates
 989   */
 990  $g_differentiate_duplicates = OFF;
 991  
 992  /**
 993   * sorting for names in dropdown lists. If turned on, "Jane Doe" will be sorted
 994   * with the "D"s
 995   * @global int $g_sort_by_last_name
 996   */
 997  $g_sort_by_last_name = OFF;
 998  
 999  /**
1000   * Show user avatar. The current implementation is based on
1001   * http://www.gravatar.com. Users will need to register there the same address
1002   * used in this MantisBT installation to have their avatar shown. Please note:
1003   * upon registration or avatar change, it takes some time for the updated
1004   * gravatar images to show on sites
1005   * @global int $g_show_avatar
1006   */
1007  $g_show_avatar = OFF;
1008  
1009  /**
1010   * Only users above this threshold will have their avatar shown
1011   * @global int $g_show_avatar_threshold
1012   */
1013  $g_show_avatar_threshold = DEVELOPER;
1014  
1015  /**
1016   * Default avatar for users without a gravatar account
1017   * @global string $g_default_avatar
1018   */
1019  $g_default_avatar = "%path%images/no_avatar.png";
1020  
1021  /**
1022   * Show release dates on changelog
1023   * @global int $g_show_changelog_dates
1024   */
1025  $g_show_changelog_dates = ON;
1026  
1027  /**
1028   * Show release dates on roadmap
1029   * @global int $g_show_roadmap_dates
1030   */
1031  $g_show_roadmap_dates = ON;
1032  
1033  /**************************
1034   * MantisBT Time Settings *
1035   **************************/
1036  
1037  /**
1038   * time for 'permanent' cookie to live in seconds (1 year)
1039   * @global int $g_cookie_time_length
1040   */
1041  $g_cookie_time_length = 30000000;
1042  
1043  /**
1044   * minutes to wait before document is stale (in minutes)
1045   * @global int $g_content_expire
1046   */
1047  $g_content_expire = 0;
1048  
1049  /**
1050   * The time (in seconds) to allow for page execution during long processes
1051   *  such as upgrading your database.
1052   * The default value of 0 indicates that the page should be allowed to
1053   *  execute until it is finished.
1054   * @global int $g_long_process_timeout
1055   */
1056  $g_long_process_timeout = 0;
1057  
1058  /**************************
1059   * MantisBT Date Settings *
1060   **************************/
1061  
1062  /**
1063   * date format strings defaults to ISO 8601 formatting
1064   * go to http://www.php.net/manual/en/function.date.php
1065   * for detailed instructions on date formatting
1066   * @global string $g_short_date_format
1067   */
1068  $g_short_date_format = 'Y-m-d';
1069  
1070  /**
1071   * date format strings defaults to ISO 8601 formatting
1072   * go to http://www.php.net/manual/en/function.date.php
1073   * for detailed instructions on date formatting
1074   * @global string $g_normal_date_format
1075   */
1076  $g_normal_date_format = 'Y-m-d H:i';
1077  
1078  /**
1079   * date format strings defaults to ISO 8601 formatting
1080   * go to http://www.php.net/manual/en/function.date.php
1081   * for detailed instructions on date formatting
1082   * @global string $g_complete_date_format
1083   */
1084  $g_complete_date_format = 'Y-m-d H:i T';
1085  
1086  /**
1087   * jscalendar date format string
1088   * go to http://www.php.net/manual/en/function.date.php
1089   * for detailed instructions on date formatting
1090   * @global string $g_calendar_js_date_format
1091   */
1092  $g_calendar_js_date_format = '\%Y-\%m-\%d \%H:\%M';
1093  
1094  /**
1095   * jscalendar date format string
1096   * go to http://www.php.net/manual/en/function.date.php
1097   * for detailed instructions on date formatting
1098   * @global string $g_calendar_date_format
1099   */
1100  $g_calendar_date_format = 'Y-m-d H:i';
1101  
1102  /**************************
1103   * MantisBT TimeZone Settings *
1104   **************************/
1105  
1106  /**
1107   * Default timezone to use in MantisBT.
1108   * See http://us.php.net/manual/en/timezones.php
1109   * for a list of valid timezones.
1110   * Note: if this is left blank, we use the result of
1111   * date_default_timezone_get() i.e. in order:
1112   * 1. Reading the TZ environment variable (if non empty)
1113   * 2. Reading the value of the date.timezone php.ini option (if set)
1114   * 3. Querying the host operating system (if supported and allowed by the OS)
1115   * 4. If none of the above succeed, will return a default timezone of UTC.
1116   * @global string $g_default_timezone
1117   */
1118  $g_default_timezone = '';
1119  
1120  /**************************
1121   * MantisBT News Settings *
1122   **************************/
1123  
1124  /**
1125   * Indicates whether the news feature should be enabled or disabled.
1126   * This feature is deprecated and is expected to be moved to a plugin
1127   * in the future.
1128   */
1129  $g_news_enabled = OFF;
1130  
1131  /**
1132   * Limit News Items
1133   * limit by entry count or date
1134   * BY_LIMIT - entry limit
1135   * BY_DATE - by date
1136   * @global int $g_news_limit_method
1137   */
1138  $g_news_limit_method = BY_LIMIT;
1139  
1140  /**
1141   * limit by last X entries
1142   * @global int $g_news_view_limit
1143   */
1144  $g_news_view_limit = 7;
1145  
1146  /**
1147   * limit by days
1148   * @global int $g_news_view_limit_days
1149   */
1150  $g_news_view_limit_days = 30;
1151  
1152  /**
1153   * threshold for viewing private news
1154   * @global int $g_private_news_threshold
1155   */
1156  $g_private_news_threshold = DEVELOPER;
1157  
1158  /********************************
1159   * MantisBT Default Preferences *
1160   ********************************/
1161  
1162  /**
1163   * signup default
1164   * look in constant_inc.php for values
1165   * @global int $g_default_new_account_access_level
1166   */
1167  $g_default_new_account_access_level = REPORTER;
1168  
1169  /**
1170   * Default Bug View Status (VS_PUBLIC or VS_PRIVATE)
1171   * @global int $g_default_bug_view_status
1172   */
1173  $g_default_bug_view_status = VS_PUBLIC;
1174  
1175  /**
1176   * Default value for steps to reproduce field.
1177   * @global string $g_default_bug_steps_to_reproduce
1178   */
1179  $g_default_bug_steps_to_reproduce = '';
1180  
1181  /**
1182   * Default value for addition information field.
1183   * @global string $g_default_bug_additional_info
1184   */
1185  $g_default_bug_additional_info = '';
1186  
1187  /**
1188   * Default Bugnote View Status (VS_PUBLIC or VS_PRIVATE)
1189   * @global int $g_default_bugnote_view_status
1190   */
1191  $g_default_bugnote_view_status = VS_PUBLIC;
1192  
1193  /**
1194   * Default bug resolution when reporting a new bug
1195   * @global int $g_default_bug_resolution
1196   */
1197  $g_default_bug_resolution = OPEN;
1198  
1199  /**
1200   * Default bug severity when reporting a new bug
1201   * @global int $g_default_bug_severity
1202   */
1203  $g_default_bug_severity = MINOR;
1204  
1205  /**
1206   * Default bug priority when reporting a new bug
1207   * @global int $g_default_bug_priority
1208   */
1209  $g_default_bug_priority = NORMAL;
1210  
1211  /**
1212   * Default bug reproducibility when reporting a new bug
1213   * @global int $g_default_bug_reproducibility
1214   */
1215  $g_default_bug_reproducibility = REPRODUCIBILITY_HAVENOTTRIED;
1216  
1217  /**
1218   * Default bug projection when reporting a new bug
1219   * @global int $g_default_bug_projection
1220   */
1221  $g_default_bug_projection = PROJECTION_NONE;
1222  
1223  /**
1224   * Default bug ETA when reporting a new bug
1225   * @global int $g_default_bug_eta
1226   */
1227  $g_default_bug_eta = ETA_NONE;
1228  
1229  /**
1230   * Default global category to be used when an issue is moved from a project to another
1231   * that doesn't have a category with a matching name.  The default is 1 which is the "General"
1232   * category that is created in the default database.
1233   */
1234  $g_default_category_for_moves = 1;
1235  
1236  /**
1237   *
1238   * @global int $g_default_limit_view
1239   */
1240  $g_default_limit_view = 50;
1241  
1242  /**
1243   *
1244   * @global int $g_default_show_changed
1245   */
1246  $g_default_show_changed = 6;
1247  
1248  /**
1249   *
1250   * @global int $g_hide_status_default
1251   */
1252  $g_hide_status_default = CLOSED;
1253  
1254  /**
1255   *
1256   * @global string $g_show_sticky_issues
1257   */
1258  $g_show_sticky_issues = ON;
1259  
1260  /**
1261   * make sure people aren't refreshing too often
1262   * in minutes
1263   * @global int $g_min_refresh_delay
1264   */
1265  $g_min_refresh_delay = 10;
1266  
1267  /**
1268   * in minutes
1269   * @global int $g_default_refresh_delay
1270   */
1271  $g_default_refresh_delay = 30;
1272  
1273  /**
1274   * in seconds
1275   * @global int $g_default_redirect_delay
1276   */
1277  $g_default_redirect_delay = 2;
1278  
1279  /**
1280   *
1281   * @global string $g_default_bugnote_order
1282   */
1283  $g_default_bugnote_order = 'ASC';
1284  
1285  /**
1286   *
1287   * @global int $g_default_email_on_new
1288   */
1289  $g_default_email_on_new = ON;
1290  
1291  /**
1292   *
1293   * @global int $g_default_email_on_assigned
1294   */
1295  $g_default_email_on_assigned = ON;
1296  
1297  /**
1298   *
1299   * @global int $g_default_email_on_feedback
1300   */
1301  $g_default_email_on_feedback = ON;
1302  
1303  /**
1304   *
1305   * @global int $g_default_email_on_resolved
1306   */
1307  $g_default_email_on_resolved = ON;
1308  
1309  /**
1310   *
1311   * @global int $g_default_email_on_closed
1312   */
1313  $g_default_email_on_closed = ON;
1314  
1315  /**
1316   *
1317   * @global int $g_default_email_on_reopened
1318   */
1319  $g_default_email_on_reopened = ON;
1320  
1321  /**
1322   *
1323   * @global int $g_default_email_on_bugnote
1324   */
1325  $g_default_email_on_bugnote = ON;
1326  
1327  /**
1328   * @todo Unused
1329   * @global int $g_default_email_on_status
1330   */
1331  $g_default_email_on_status = 0;
1332  
1333  /**
1334   * @todo Unused
1335   * @global int $g_default_email_on_priority
1336   */
1337  $g_default_email_on_priority = 0;
1338  
1339  /**
1340   * 'any'
1341   * @global int $g_default_email_on_new_minimum_severity
1342   */
1343  $g_default_email_on_new_minimum_severity = OFF;
1344  
1345  /**
1346   * 'any'
1347   * @global int $g_default_email_on_assigned_minimum_severity
1348   */
1349  $g_default_email_on_assigned_minimum_severity = OFF;
1350  
1351  /**
1352   * 'any'
1353   * @global int $g_default_email_on_feedback_minimum_severity
1354   */
1355  $g_default_email_on_feedback_minimum_severity = OFF;
1356  
1357  /**
1358   * 'any'
1359   * @global int $g_default_email_on_resolved_minimum_severity
1360   */
1361  $g_default_email_on_resolved_minimum_severity = OFF;
1362  
1363  /**
1364   * 'any'
1365   * @global int $g_default_email_on_closed_minimum_severity
1366   */
1367  $g_default_email_on_closed_minimum_severity = OFF;
1368  
1369  /**
1370   * 'any'
1371   * @global int $g_default_email_on_reopened_minimum_severity
1372   */
1373  $g_default_email_on_reopened_minimum_severity = OFF;
1374  
1375  /**
1376   * 'any'
1377   * @global int $g_default_email_on_bugnote_minimum_severity
1378   */
1379  $g_default_email_on_bugnote_minimum_severity = OFF;
1380  
1381  /**
1382   * 'any'
1383   * @global int $g_default_email_on_status_minimum_severity
1384   */
1385  $g_default_email_on_status_minimum_severity = OFF;
1386  
1387  /**
1388   * @todo Unused
1389   * @global int $g_default_email_on_priority_minimum_severity
1390   */
1391  $g_default_email_on_priority_minimum_severity = OFF;
1392  
1393  /**
1394   *
1395   * @global int $g_default_email_bugnote_limit
1396   */
1397  $g_default_email_bugnote_limit = 0;
1398  
1399  /*****************************
1400   * MantisBT Summary Settings *
1401   *****************************/
1402  
1403  /**
1404   * how many reporters to show
1405   * this is useful when there are hundreds of reporters
1406   * @global int $g_reporter_summary_limit
1407   */
1408  $g_reporter_summary_limit = 10;
1409  
1410  /**
1411   * summary date displays
1412   * date lengths to count bugs by (in days)
1413   * @global array $g_date_partitions
1414   */
1415  $g_date_partitions = array( 1, 2, 3, 7, 30, 60, 90, 180, 365);
1416  
1417  /**
1418   * shows project '[project] category' when 'All Projects' is selected
1419   * otherwise only 'category name'
1420   * @global int $g_summary_category_include_project
1421   */
1422  $g_summary_category_include_project = OFF;
1423  
1424  /**
1425   * threshold for viewing summary
1426   * @global int $g_view_summary_threshold
1427   */
1428  $g_view_summary_threshold = MANAGER;
1429  
1430  /**
1431   * Define the multipliers which are used to determine the effectiveness
1432   * of reporters based on the severity of bugs. Higher multipliers will
1433   * result in an increase in reporter effectiveness.
1434   * @global array $g_severity_multipliers
1435   */
1436  $g_severity_multipliers = array(
1437      FEATURE => 1,
1438      TRIVIAL => 2,
1439      TEXT    => 3,
1440      TWEAK   => 2,
1441      MINOR   => 5,
1442      MAJOR   => 8,
1443      CRASH   => 8,
1444      BLOCK   => 10
1445  );
1446  
1447  /**
1448   * Define the resolutions which are used to determine the effectiveness
1449   * of reporters based on the resolution of bugs. Higher multipliers will
1450   * result in a decrease in reporter effectiveness. The only resolutions
1451   * that need to be defined here are those which match or exceed
1452   * $g_bug_resolution_not_fixed_threshold.
1453   * @global array $g_resolution_multipliers
1454   */
1455  $g_resolution_multipliers = array(
1456      UNABLE_TO_DUPLICATE => 2,
1457      NOT_FIXABLE         => 1,
1458      DUPLICATE           => 3,
1459      NOT_A_BUG           => 5,
1460      SUSPENDED           => 1,
1461      WONT_FIX            => 1
1462  );
1463  
1464  /*****************************
1465   * MantisBT Bugnote Settings *
1466   *****************************/
1467  
1468  /**
1469   * bugnote ordering
1470   * change to ASC or DESC
1471   * @global string $g_bugnote_order
1472   */
1473  $g_bugnote_order = 'DESC';
1474  
1475  /*********************************
1476   * MantisBT Bug History Settings *
1477   *********************************/
1478  
1479  /**
1480   * bug history visible by default when you view a bug
1481   * change to ON or OFF
1482   * @global int $g_history_default_visible
1483   */
1484  $g_history_default_visible = ON;
1485  
1486  /**
1487   * bug history ordering
1488   * change to ASC or DESC
1489   * @global string $g_history_order
1490   */
1491  $g_history_order = 'ASC';
1492  
1493  /******************************
1494   * MantisBT Reminder Settings *
1495   ******************************/
1496  
1497  /**
1498   * are reminders stored as bugnotes
1499   * @global int $g_store_reminders
1500   */
1501  $g_store_reminders = ON;
1502  
1503  /**
1504   * Automatically add recipients of reminders to monitor list, if they are not
1505   * the handler or the reporter (since they automatically get notified, if required)
1506   * If recipients of the reminders are below the monitor threshold, they will not be added.
1507   * @global int $g_reminder_recipients_monitor_bug
1508   */
1509  $g_reminder_recipients_monitor_bug = ON;
1510  
1511  /**
1512   * Default Reminder View Status (VS_PUBLIC or VS_PRIVATE)
1513   * @global int $g_default_reminder_view_status
1514   */
1515  $g_default_reminder_view_status = VS_PUBLIC;
1516  
1517  /**
1518   * The minimum access level required to show up in the list of users who can receive a reminder.
1519   * The access level is that of the project to which the issue belongs.
1520   * @global int $g_reminder_receive_threshold
1521   */
1522  $g_reminder_receive_threshold = DEVELOPER;
1523  
1524  /*********************************
1525   * MantisBT Sponsorship Settings *
1526   *********************************/
1527  
1528  /**
1529   * Whether to enable/disable the whole issue sponsorship feature
1530   * @global int $g_enable_sponsorship
1531   */
1532  $g_enable_sponsorship = OFF;
1533  
1534  /**
1535   * Currency used for all sponsorships.
1536   * @global string $g_sponsorship_currency
1537   */
1538  $g_sponsorship_currency = 'US$';
1539  
1540  /**
1541   * Access level threshold needed to view the total sponsorship for an issue by
1542   * all users.
1543   * @global int $g_view_sponsorship_total_threshold
1544   */
1545  $g_view_sponsorship_total_threshold = VIEWER;
1546  
1547  /**
1548   * Access level threshold needed to view the users sponsoring an issue and the
1549   * sponsorship amount for each.
1550   * @global int $g_view_sponsorship_details_threshold
1551   */
1552  $g_view_sponsorship_details_threshold = VIEWER;
1553  
1554  /**
1555   * Access level threshold needed to allow user to sponsor issues.
1556   * @global int $g_sponsor_threshold
1557   */
1558  $g_sponsor_threshold = REPORTER;
1559  
1560  /**
1561   * Access level required to be able to handle sponsored issues.
1562   * @global int $g_handle_sponsored_bugs_threshold
1563   */
1564  $g_handle_sponsored_bugs_threshold = DEVELOPER;
1565  
1566  /**
1567   * Access level required to be able to assign a sponsored issue to a user with
1568   * access level greater or equal to 'handle_sponsored_bugs_threshold'.
1569   * @global int $g_assign_sponsored_bugs_threshold
1570   */
1571  $g_assign_sponsored_bugs_threshold = MANAGER;
1572  
1573  /**
1574   * Minimum sponsorship amount. If the user enters a value less than this, an
1575   * error will be prompted.
1576   * @global int $g_minimum_sponsorship_amount
1577   */
1578  $g_minimum_sponsorship_amount = 5;
1579  
1580  /*********************************
1581   * MantisBT File Upload Settings *
1582   *********************************/
1583  
1584  /**
1585   * --- file upload settings --------
1586   * This is the master setting to disable *all* file uploading functionality
1587   *
1588   * If you want to allow file uploads, you must also make sure that they are
1589   *  enabled in php.  You may need to add 'file_uploads = TRUE' to your php.ini
1590   *
1591   * See also: $g_upload_project_file_threshold, $g_upload_bug_file_threshold,
1592   *   $g_allow_reporter_upload
1593   * @global int $g_allow_file_upload
1594   */
1595  $g_allow_file_upload = ON;
1596  
1597  /**
1598   * Upload destination: specify actual location in project settings
1599   * DISK, DATABASE, or FTP.
1600   * @global int $g_file_upload_method
1601   */
1602  $g_file_upload_method = DATABASE;
1603  
1604  /**
1605   * When using FTP or DISK for storing uploaded files, this setting control
1606   * the access permissions they will have on the web server: with the default
1607   * value (0400) files will be read-only, and accessible only by the user
1608   * running the apache process (probably "apache" in Linux and "Administrator"
1609   * in Windows).
1610   * For more details on unix style permissions:
1611   * http://www.perlfect.com/articles/chmod.shtml
1612   * @global int $g_attachments_file_permissions
1613   */
1614  $g_attachments_file_permissions = 0400;
1615  
1616  /**
1617   * FTP settings, used if $g_file_upload_method = FTP
1618   * @global string $g_file_upload_ftp_server
1619   */
1620  $g_file_upload_ftp_server = 'ftp.myserver.com';
1621  
1622  /**
1623   *
1624   * @global string $g_file_upload_ftp_user
1625   */
1626  $g_file_upload_ftp_user = 'readwriteuser';
1627  
1628  /**
1629   *
1630   * @global string $g_file_upload_ftp_pass
1631   */
1632  $g_file_upload_ftp_pass = 'readwritepass';
1633  
1634  /**
1635   * Maximum file size that can be uploaded
1636   * Also check your PHP settings (default is usually 2MBs)
1637   * @global int $g_max_file_size
1638   */
1639  $g_max_file_size = 5000000;
1640  
1641  /**
1642   * Files that are allowed or not allowed.  Separate items by commas.
1643   * eg. 'php,html,java,exe,pl'
1644   * if $g_allowed_files is filled in NO other file types will be allowed.
1645   * $g_disallowed_files takes precedence over $g_allowed_files
1646   * @global string $g_allowed_files
1647   */
1648  $g_allowed_files = '';
1649  
1650  /**
1651   *
1652   * @global string $g_disallowed_files
1653   */
1654  $g_disallowed_files = '';
1655  
1656  /**
1657   * prefix to be used for the file system names of files uploaded to projects.
1658   * Eg: doc-001-myprojdoc.zip
1659   * @global string $g_document_files_prefix
1660   */
1661  $g_document_files_prefix = 'doc';
1662  
1663  /**
1664   * absolute path to the default upload folder.  Requires trailing / or \
1665   * @global string $g_absolute_path_default_upload_folder
1666   */
1667  $g_absolute_path_default_upload_folder = '';
1668  
1669  /**
1670   * Enable support for sending files to users via a more efficient X-Sendfile
1671   * method. HTTP server software supporting this technique includes Lighttpd,
1672   * Cherokee, Apache with mod_xsendfile and nginx. You may need to set the
1673   * proceeding file_download_xsendfile_header_name option to suit the server you
1674   * are using.
1675   * @global int $g_file_download_method
1676   */
1677  $g_file_download_xsendfile_enabled = OFF;
1678  
1679  /**
1680   * The name of the X-Sendfile header to use. Each server tends to implement
1681   * this functionality in a slightly different way and thus the naming
1682   * conventions for the header differ between each server. Lighttpd from v1.5,
1683   * Apache with mod_xsendfile and Cherokee web servers use X-Sendfile. nginx
1684   * uses X-Accel-Redirect and Lighttpd v1.4 uses X-LIGHTTPD-send-file.
1685   * @global string $g_file_download_xsendfile_header_name
1686   */
1687  $g_file_download_xsendfile_header_name = 'X-Sendfile';
1688  
1689  /**************************
1690   * MantisBT HTML Settings *
1691   **************************/
1692  
1693  /**
1694   * html tags
1695   * Set this flag to automatically convert www URLs and
1696   * email adresses into clickable links
1697   * @global int $g_html_make_links
1698   */
1699  $g_html_make_links = ON;
1700  
1701  /**
1702   * These are the valid html tags for multi-line fields (e.g. description)
1703   * do NOT include a or img tags here
1704   * do NOT include tags that require attributes
1705   * @global string $g_html_valid_tags
1706   */
1707  $g_html_valid_tags = 'p, li, ul, ol, br, pre, i, b, u, em, strong';
1708  
1709  /**
1710   * These are the valid html tags for single line fields (e.g. issue summary).
1711   * do NOT include a or img tags here
1712   * do NOT include tags that require attributes
1713   * @global string $g_html_valid_tags_single_line
1714   */
1715  $g_html_valid_tags_single_line = 'i, b, u, em, strong';
1716  
1717  /**
1718   * maximum length of the description in a dropdown menu (for search)
1719   * set to 0 to disable truncations
1720   * @global int $g_max_dropdown_length
1721   */
1722  $g_max_dropdown_length = 40;
1723  
1724  /**
1725   * This flag conntrolls whether pre-formatted text (delimited by <pre> tags
1726   *  is wrapped to a maximum linelength (defaults to 100 chars in strings_api)
1727   *  If turned off, the display may be wide when viewing the text
1728   * @global int $g_wrap_in_preformatted_text
1729   */
1730  $g_wrap_in_preformatted_text = ON;
1731  
1732  /************************
1733   * MantisBT HR Settings *
1734   ************************/
1735  
1736  /**
1737   * Horizontal Rule Size
1738   * @global int $g_hr_size
1739   */
1740  $g_hr_size = 1;
1741  
1742  /**
1743   * Horizontal Rule Width
1744   * @global int $g_hr_width
1745   */
1746  $g_hr_width = 50;
1747  
1748  /**************************
1749   * MantisBT LDAP Settings *
1750   **************************/
1751  
1752  /**
1753   *
1754   * @global string $g_ldap_server
1755   */
1756  $g_ldap_server = 'ldaps://ldap.example.com.au/';
1757  
1758  /**
1759   *
1760   * @global string $g_ldap_root_dn
1761   */
1762  $g_ldap_root_dn = 'dc=example,dc=com,dc=au';
1763  
1764  /**
1765   * e.g. '(organizationname=*Traffic)'
1766   * @global string $g_ldap_organization
1767   */
1768  $g_ldap_organization = '';
1769  
1770  /**
1771   * Use 'sAMAccountName' for Active Directory
1772   * @global string $g_ldap_uid_field
1773   */
1774  $g_ldap_uid_field = 'uid';
1775  
1776  /**
1777   * The LDAP field for real name (i.e. common name).
1778   * @global string $g_ldap_uid_field
1779   */
1780  $g_ldap_realname_field = 'cn';
1781  
1782  /**
1783   * The distinguished of the user account to use for binding to the LDAP server.
1784   * For example, 'CN=ldap,OU=Administrators,DC=example,DC=com'.
1785   *
1786   * @global string $g_ldap_bind_dn
1787   */
1788  $g_ldap_bind_dn = '';
1789  
1790  /**
1791   * The password for the service account to be used for connecting to the LDAP server.
1792   *
1793   * @global string $g_ldap_bind_passwd
1794   */
1795  $g_ldap_bind_passwd = '';
1796  
1797  /**
1798   * Should we send to the LDAP email address or what MySql tells us
1799   * @global int $g_use_ldap_email
1800   */
1801  $g_use_ldap_email = OFF;
1802  
1803  /**
1804   * Whether or not to pull the real name from LDAP.
1805   * ON from LDAP, OFF from database.
1806   * @global int $g_use_ldap_realname
1807   */
1808  $g_use_ldap_realname = OFF;
1809  
1810  /**
1811   * The LDAP Protocol Version, if 0, then the protocol version is not set.  For
1812   * Active Directory use version 3.
1813   *
1814   * @global int $g_ldap_protocol_version
1815   */
1816  $g_ldap_protocol_version = 0;
1817  
1818  /**
1819   * Determines whether the LDAP library automatically follows referrals returned
1820   * by LDAP servers or not. This maps to LDAP_OPT_REFERRALS ldap library option.
1821   * For Active Directory, this should be set to OFF.
1822   *
1823   * @global int $g_ldap_follow_referrals
1824   */
1825  $g_ldap_follow_referrals = ON;
1826  
1827  /**
1828   * For development purposes, this is a configuration option that allows
1829   * replacing the LDAP communication with a comma separated text file.  The text
1830   * file has a line per user. Each line includes: user name, user real name,
1831   * email, password.  For production systems this option should be set to ''.
1832   */
1833  $g_ldap_simulation_file_path = '';
1834  
1835  /*******************
1836   * Status Settings *
1837   *******************/
1838  
1839  /**
1840   * Status to assign to the bug when submitted.
1841   * @global int $g_bug_submit_status
1842   */
1843  $g_bug_submit_status = NEW_;
1844  
1845  /**
1846   * Status to assign to the bug when assigned.
1847   * @global int $g_bug_assigned_status
1848   */
1849  $g_bug_assigned_status = ASSIGNED;
1850  
1851  /**
1852   * Status to assign to the bug when reopened.
1853   * @global int $g_bug_reopen_status
1854   */
1855  $g_bug_reopen_status = FEEDBACK;
1856  
1857  /**
1858   * Status to assign to the bug when feedback is required from the issue
1859   * reporter. Once the reporter adds a note the status moves back from feedback
1860   * to $g_bug_assigned_status or $g_bug_submit_status.
1861   * @global int $g_bug_feedback_status
1862   */
1863  $g_bug_feedback_status = FEEDBACK;
1864  
1865  /**
1866   * When a note is added to a bug currently in $g_bug_feedback_status, and the note
1867   * author is the bug's reporter, this option will automatically set the bug status
1868   * to $g_bug_submit_status or $g_bug_assigned_status if the bug is assigned to a
1869   * developer.  Defaults to enabled.
1870   * @global boolean $g_reassign_on_feedback
1871   */
1872  $g_reassign_on_feedback = ON;
1873  
1874  /**
1875   * Resolution to assign to the bug when reopened.
1876   * @global int $g_bug_reopen_resolution
1877   */
1878  $g_bug_reopen_resolution = REOPENED;
1879  
1880  /**
1881   * Default resolution to assign to a bug when it is resolved as being a
1882   * duplicate of another issue.
1883   * @global int $g_bug_duplicate_resolution
1884   */
1885  $g_bug_duplicate_resolution = DUPLICATE;
1886  
1887  /**
1888   * Bug becomes readonly if its status is >= this status.  The bug becomes
1889   * read/write again if re-opened and its status becomes less than this
1890   * threshold.
1891   * @global int $g_bug_readonly_status_threshold
1892   */
1893  $g_bug_readonly_status_threshold = RESOLVED;
1894  
1895  /**
1896   * Bug is resolved, ready to be closed or reopened.  In some custom
1897   * installations a bug may be considered as resolved when it is moved to a
1898   * custom (FIXED or TESTED) status.
1899   * @global int $g_bug_resolved_status_threshold
1900   */
1901  $g_bug_resolved_status_threshold = RESOLVED;
1902  
1903  /**
1904   * Threshold resolution which denotes that a bug has been resolved and
1905   * successfully fixed by developers. Resolutions above this threshold
1906   * and below $g_bug_resolution_not_fixed_threshold are considered to be
1907   * resolved successfully.
1908   * @global int $g_bug_resolution_fixed_threshold
1909   */
1910  $g_bug_resolution_fixed_threshold = FIXED;
1911  
1912  /**
1913   * Threshold resolution which denotes that a bug has been resolved without
1914   * being successfully fixed by developers. Resolutions above this
1915   * threshold are considered to be resolved in an unsuccessful way.
1916   * @global int $g_bug_resolution_not_fixed_threshold
1917   */
1918  $g_bug_resolution_not_fixed_threshold = UNABLE_TO_DUPLICATE;
1919  
1920  /**
1921   * Bug is closed.  In some custom installations a bug may be considered as
1922   * closed when it is moved to a custom (COMPLETED or IMPLEMENTED) status.
1923   * @global int $g_bug_closed_status_threshold
1924   */
1925  $g_bug_closed_status_threshold = CLOSED;
1926  
1927  /**
1928   * Automatically set status to ASSIGNED whenever a bug is assigned to a person.
1929   * This is useful for installations where assigned status is to be used when
1930   * the bug is in progress, rather than just put in a person's queue.
1931   * @global int $g_auto_set_status_to_assigned
1932   */
1933  $g_auto_set_status_to_assigned    = ON;
1934  
1935  /**
1936   * 'status_enum_workflow' defines the workflow, and reflects a simple
1937   *  2-dimensional matrix. For each existing status, you define which
1938   *  statuses you can go to from that status, e.g. from NEW_ you might list statuses
1939   *  '10:new,20:feedback,30:acknowledged' but not higher ones.
1940   * The following example can be transferred to config_inc.php
1941   * $g_status_enum_workflow[NEW_]='20:feedback,30:acknowledged,40:confirmed,50:assigned,80:resolved';
1942   * $g_status_enum_workflow[FEEDBACK] ='10:new,30:acknowledged,40:confirmed,50:assigned,80:resolved';
1943   * $g_status_enum_workflow[ACKNOWLEDGED] ='20:feedback,40:confirmed,50:assigned,80:resolved';
1944   * $g_status_enum_workflow[CONFIRMED] ='20:feedback,50:assigned,80:resolved';
1945   * $g_status_enum_workflow[ASSIGNED] ='20:feedback,80:resolved,90:closed';
1946   * $g_status_enum_workflow[RESOLVED] ='50:assigned,90:closed';
1947   * $g_status_enum_workflow[CLOSED] ='50:assigned';
1948   * @global array $g_status_enum_workflow
1949   */
1950  $g_status_enum_workflow = array();
1951  
1952  /****************************
1953   * Bug Attachments Settings *
1954   ****************************/
1955  
1956  /**
1957   * Specify the filename of the magic database file. This is used by
1958   * PHP 5.3.0 (or earlier versions with the fileinfo PECL extension) to
1959   * guess what the MIME type of a file is. Usually it is safe to leave this
1960   * setting as the default (blank) as PHP is usually able to find this file
1961   * by itself.
1962   * @global string $g_fileinfo_magic_db_file
1963   */
1964  $g_fileinfo_magic_db_file = '';
1965  
1966  /**
1967   * Specifies the maximum size (in bytes) below which an attachment is
1968   * previewed in the bug view pages.
1969   * To disable the previewing of attachments, set max size to 0.
1970   * @global int $g_preview_attachments_inline_max_size
1971   */
1972  $g_preview_attachments_inline_max_size = 256 * 1024;
1973  
1974  /**
1975   * Extensions for text files that can be expanded inline.
1976   * @global array $g_preview_text_extensions
1977   */
1978  $g_preview_text_extensions = array(
1979      '', 'txt', 'diff', 'patch'
1980  );
1981  
1982  /**
1983   * Extensions for images that can be expanded inline.
1984   * @global array $g_preview_image_extensions
1985   */
1986  $g_preview_image_extensions = array(
1987      'bmp', 'png', 'gif', 'jpg', 'jpeg'
1988  );
1989  
1990  /**
1991   * Specifies the maximum width for the auto-preview feature. If no maximum
1992   * width should be imposed then it should be set to 0.
1993   * @global int $g_preview_max_width
1994   */
1995  $g_preview_max_width = 0;
1996  
1997  /**
1998   * Specifies the maximum height for the auto-preview feature. If no maximum
1999   * height should be imposed then it should be set to 0.
2000   * @global int $g_preview_max_height
2001   */
2002  $g_preview_max_height = 250;
2003  
2004  /**
2005   * Show an attachment indicator on bug list. Show a clickable attachment
2006   * indicator on the bug list page if the bug has one or more files attached.
2007   * Note: This option is disabled by default since it adds 1 database query per
2008   * bug listed and thus might slow down the page display.
2009   *
2010   * @global int $g_show_attachment_indicator
2011   */
2012  $g_show_attachment_indicator = OFF;
2013  
2014  /**
2015   * access level needed to view bugs attachments.  View means to see the file
2016   * names, sizes, and timestamps of the attachments.
2017   * @global int $g_view_attachments_threshold
2018   */
2019  $g_view_attachments_threshold = VIEWER;
2020  
2021  /**
2022   * list of filetypes to view inline. This is a string of extentions separated
2023   * by commas. This is used when downloading an attachment. Rather than
2024   * downloading, the attachment is viewed in the browser.
2025   * @global string $g_inline_file_exts
2026   */
2027  $g_inline_file_exts = 'gif,png,jpg,jpeg,bmp';
2028  
2029  /**
2030   * access level needed to download bug attachments
2031   * @global int $g_download_attachments_threshold
2032   */
2033  $g_download_attachments_threshold = VIEWER;
2034  
2035  /**
2036   * access level needed to delete bug attachments
2037   * @global int $g_delete_attachments_threshold
2038   */
2039  $g_delete_attachments_threshold = DEVELOPER;
2040  
2041  /**
2042   * allow users to view attachments uploaded by themselves even if their access
2043   * level is below view_attachments_threshold.
2044   * @global int $g_allow_view_own_attachments
2045   */
2046  $g_allow_view_own_attachments = ON;
2047  
2048  /**
2049   * allow users to download attachments uploaded by themselves even if their
2050   * access level is below download_attachments_threshold.
2051   * @global int $g_allow_download_own_attachments
2052   */
2053  $g_allow_download_own_attachments = ON;
2054  
2055  /**
2056   * allow users to delete attachments uploaded by themselves even if their access
2057   * level is below delete_attachments_threshold.
2058   * @global int $g_allow_delete_own_attachments
2059   */
2060  $g_allow_delete_own_attachments = OFF;
2061  
2062  /**********************
2063   * Field Visibility
2064   **********************/
2065  
2066  /**
2067   * Enable or disable usage of the ETA field.
2068   * @global int $g_enable_eta
2069   */
2070  $g_enable_eta = OFF;
2071  
2072  /**
2073   * Enable or disable usage of the Projection field.
2074   * @global int $g_enable_projection
2075   */
2076  $g_enable_projection = OFF;
2077  
2078  /**
2079   * Enable or disable usage of the Product Build field.
2080   * @global int $g_enable_product_build
2081   */
2082  $g_enable_product_build = OFF;
2083  
2084  /**
2085   * An array of optional fields to show on the bug report page.
2086   *
2087   * The following optional fields are allowed:
2088   *   - additional_info
2089   *   - attachments
2090   *   - category_id
2091   *   - due_date
2092   *   - handler
2093   *   - os
2094   *   - os_version
2095   *   - platform
2096   *   - priority
2097   *   - product_build
2098   *   - product_version
2099   *   - reproducibility
2100   *   - severity
2101   *   - steps_to_reproduce
2102   *   - target_version
2103   *   - view_state
2104   *
2105   * The summary and description fields are always shown and do not need to be
2106   * listed in this option. Fields not listed above cannot be shown on the bug
2107   * report page. Visibility of custom fields is handled via the Manage =>
2108   * Manage Custom Fields administrator page.
2109   *
2110   * This setting can be set on a per-project basis by using the
2111   * Manage => Manage Configuration administrator page.
2112   *
2113   * @global array $g_bug_report_page_fields
2114   */
2115  $g_bug_report_page_fields = array(
2116      'additional_info',
2117      'attachments',
2118      'category_id',
2119      'due_date',
2120      'handler',
2121      'os',
2122      'os_version',
2123      'platform',
2124      'priority',
2125      'product_build',
2126      'product_version',
2127      'reproducibility',
2128      'severity',
2129      'steps_to_reproduce',
2130      'target_version',
2131      'view_state',
2132  );
2133  
2134  /**
2135   * An array of optional fields to show on the bug view page.
2136   *
2137   * The following optional fields are allowed:
2138   *   - additional_info
2139   *   - attachments
2140   *   - category_id
2141   *   - date_submitted
2142   *   - description
2143   *   - due_date
2144   *   - eta
2145   *   - fixed_in_version
2146   *   - handler
2147   *   - id
2148   *   - last_updated
2149   *   - os
2150   *   - os_version
2151   *   - platform
2152   *   - priority
2153   *   - product_build
2154   *   - product_version
2155   *   - project
2156   *   - projection
2157   *   - reporter
2158   *   - reproducibility
2159   *   - resolution
2160   *   - severity
2161   *   - status
2162   *   - steps_to_reproduce
2163   *   - summary
2164   *   - tags
2165   *   - target_version
2166   *   - view_state
2167   *
2168   * Fields not listed above cannot be shown on the bug view page. Visibility of
2169   * custom fields is handled via the Manage => Manage Custom Fields
2170   * administrator page.
2171   *
2172   * This setting can be set on a per-project basis by using the
2173   * Manage => Manage Configuration administrator page.
2174   *
2175   * @global array $g_bug_view_page_fields
2176   */
2177  $g_bug_view_page_fields = array (
2178      'additional_info',
2179      'attachments',
2180      'category_id',
2181      'date_submitted',
2182      'description',
2183      'due_date',
2184      'eta',
2185      'fixed_in_version',
2186      'handler',
2187      'id',
2188      'last_updated',
2189      'os',
2190      'os_version',
2191      'platform',
2192      'priority',
2193      'product_build',
2194      'product_version',
2195      'project',
2196      'projection',
2197      'reporter',
2198      'reproducibility',
2199      'resolution',
2200      'severity',
2201      'status',
2202      'steps_to_reproduce',
2203      'summary',
2204      'tags',
2205      'target_version',
2206      'view_state',
2207  );
2208  
2209  /**
2210   * An array of optional fields to show on the bug print page.
2211   *
2212   * The following optional fields are allowed:
2213   *   - additional_info
2214   *   - attachments
2215   *   - category_id
2216   *   - date_submitted
2217   *   - description
2218   *   - due_date
2219   *   - eta
2220   *   - fixed_in_version
2221   *   - handler
2222   *   - id
2223   *   - last_updated
2224   *   - os
2225   *   - os_version
2226   *   - platform
2227   *   - priority
2228   *   - product_build
2229   *   - product_version
2230   *   - project
2231   *   - projection
2232   *   - reporter
2233   *   - reproducibility
2234   *   - resolution
2235   *   - severity
2236   *   - status
2237   *   - steps_to_reproduce
2238   *   - summary
2239   *   - tags
2240   *   - target_version
2241   *   - view_state
2242   *
2243   * Fields not listed above cannot be shown on the bug print page. All custom
2244   * field values are shown on the bug print page.
2245   *
2246   * This setting can be set on a per-project basis by using the
2247   * Manage => Manage Configuration administrator page.
2248   *
2249   * @global array $g_bug_print_page_fields
2250   */
2251  $g_bug_print_page_fields = array (
2252      'additional_info',
2253      'attachments',
2254      'category_id',
2255      'date_submitted',
2256      'description',
2257      'due_date',
2258      'eta',
2259      'fixed_in_version',
2260      'handler',
2261      'id',
2262      'last_updated',
2263      'os',
2264      'os_version',
2265      'platform',
2266      'priority',
2267      'product_build',
2268      'product_version',
2269      'project',
2270      'projection',
2271      'reporter',
2272      'reproducibility',
2273      'resolution',
2274      'severity',
2275      'status',
2276      'steps_to_reproduce',
2277      'summary',
2278      'tags',
2279      'target_version',
2280      'view_state',
2281  );
2282  
2283  /**
2284   * An array of optional fields to show on the bug update page.
2285   *
2286   * The following optional fields are allowed:
2287   *   - additional_info
2288   *   - category_id
2289   *   - date_submitted
2290   *   - description
2291   *   - due_date
2292   *   - eta
2293   *   - fixed_in_version
2294   *   - handler
2295   *   - id
2296   *   - last_updated
2297   *   - os
2298   *   - os_version
2299   *   - platform
2300   *   - priority
2301   *   - product_build
2302   *   - product_version
2303   *   - project
2304   *   - projection
2305   *   - reporter
2306   *   - reproducibility
2307   *   - resolution
2308   *   - severity
2309   *   - status
2310   *   - steps_to_reproduce
2311   *   - summary
2312   *   - target_version
2313   *   - view_state
2314   *
2315   * Fields not listed above cannot be shown on the bug update page. Visibility
2316   * of custom fields is handled via the Manage => Manage Custom Fields
2317   * administrator page.
2318   *
2319   * This setting can be set on a per-project basis by using the
2320   * Manage => Manage Configuration administrator page.
2321   *
2322   * @global array $g_bug_update_page_fields
2323   */
2324  $g_bug_update_page_fields = array (
2325      'additional_info',
2326      'category_id',
2327      'date_submitted',
2328      'description',
2329      'due_date',
2330      'eta',
2331      'fixed_in_version',
2332      'handler',
2333      'id',
2334      'last_updated',
2335      'os',
2336      'os_version',
2337      'platform',
2338      'priority',
2339      'product_build',
2340      'product_version',
2341      'project',
2342      'projection',
2343      'reporter',
2344      'reproducibility',
2345      'resolution',
2346      'severity',
2347      'status',
2348      'steps_to_reproduce',
2349      'summary',
2350      'target_version',
2351      'view_state',
2352  );
2353  
2354  /**
2355   * An array of optional fields to show on the bug change status page. This
2356   * only changes the visibibility of fields shown below the form used for
2357   * updating the status of an issue.
2358   *
2359   * The following optional fields are allowed:
2360   *   - additional_info
2361   *   - attachments
2362   *   - category_id
2363   *   - date_submitted
2364   *   - description
2365   *   - due_date
2366   *   - eta
2367   *   - fixed_in_version
2368   *   - handler
2369   *   - id
2370   *   - last_updated
2371   *   - os
2372   *   - os_version
2373   *   - platform
2374   *   - priority
2375   *   - product_build
2376   *   - product_version
2377   *   - project
2378   *   - projection
2379   *   - reporter
2380   *   - reproducibility
2381   *   - resolution
2382   *   - severity
2383   *   - status
2384   *   - steps_to_reproduce
2385   *   - summary
2386   *   - tags
2387   *   - target_version
2388   *   - view_state
2389   *
2390   * Fields not listed above cannot be shown on the bug change status page.
2391   * Visibility of custom fields is handled via the Manage =>
2392   * Manage Custom Fields administrator page (use the same settings as the
2393   * bug view page).
2394   *
2395   * This setting can be set on a per-project basis by using the
2396   * Manage => Manage Configuration administrator page.
2397   *
2398   * @global array $g_bug_change_status_page_fields
2399   */
2400  $g_bug_change_status_page_fields = array (
2401      'additional_info',
2402      'attachments',
2403      'category_id',
2404      'date_submitted',
2405      'description',
2406      'due_date',
2407      'eta',
2408      'fixed_in_version',
2409      'handler',
2410      'id',
2411      'last_updated',
2412      'os',
2413      'os_version',
2414      'platform',
2415      'priority',
2416      'product_build',
2417      'product_version',
2418      'project',
2419      'projection',
2420      'reporter',
2421      'reproducibility',
2422      'resolution',
2423      'severity',
2424      'status',
2425      'steps_to_reproduce',
2426      'summary',
2427      'tags',
2428      'target_version',
2429      'view_state',
2430  );
2431  
2432  /**************************
2433   * MantisBT Misc Settings *
2434   **************************/
2435  
2436  /**
2437   * access level needed to report a bug
2438   * @global int $g_report_bug_threshold
2439   */
2440  $g_report_bug_threshold = REPORTER;
2441  
2442  /**
2443   * access level needed to update bugs (i.e., the update_bug_page)
2444   * This controls whether the user sees the "Update Bug" button in bug_view*_page
2445   * and the pencil icon in view_all_bug_page
2446   * @global int $g_update_bug_threshold
2447   */
2448  $g_update_bug_threshold = UPDATER;
2449  
2450  /**
2451   * Access level needed to monitor bugs.
2452   * Look in the constant_inc.php file if you want to set a different value.
2453   * @global int $g_monitor_bug_threshold
2454   */
2455  $g_monitor_bug_threshold = REPORTER;
2456  
2457  /**
2458   * Access level needed to add other users to the list of users monitoring
2459   * a bug.
2460   * Look in the constant_inc.php file if you want to set a different value.
2461   * @global int $g_monitor_add_others_bug_threshold
2462   */
2463  $g_monitor_add_others_bug_threshold = DEVELOPER;
2464  
2465  /**
2466   * Access level needed to delete other users from the list of users
2467   * monitoring a bug.
2468   * Look in the constant_inc.php file if you want to set a different value.
2469   * @global int $g_monitor_add_others_bug_threshold
2470   */
2471  $g_monitor_delete_others_bug_threshold = DEVELOPER;
2472  
2473  /**
2474   * access level needed to view private bugs
2475   * Look in the constant_inc.php file if you want to set a different value
2476   * @global int $g_private_bug_threshold
2477   */
2478  $g_private_bug_threshold = DEVELOPER;
2479  
2480  /**
2481   * access level needed to be able to be listed in the assign to field.
2482   * @global int $g_handle_bug_threshold
2483   */
2484  $g_handle_bug_threshold = DEVELOPER;
2485  
2486  /**
2487   * access level needed to show the Assign To: button bug_view*_page or
2488   *  the Assigned list in bug_update*_page.
2489   *  This allows control over who can route bugs
2490   * This defaults to $g_handle_bug_threshold
2491   * @global int $g_update_bug_assign_threshold
2492   */
2493  $g_update_bug_assign_threshold = '%handle_bug_threshold%';
2494  
2495  /**
2496   * access level needed to view private bugnotes
2497   * Look in the constant_inc.php file if you want to set a different value
2498   * @global int $g_private_bugnote_threshold
2499   */
2500  $g_private_bugnote_threshold = DEVELOPER;
2501  
2502  /**
2503   * access level needed to view handler in bug reports and notification email
2504   * @todo yarick123: now it is implemented for notification email only
2505   * @global int $g_view_handler_threshold
2506   */
2507  $g_view_handler_threshold = VIEWER;
2508  
2509  /**
2510   * access level needed to view history in bug reports and notification email
2511   * @todo yarick123: now it is implemented for notification email only
2512   * @global int $g_view_history_threshold
2513   */
2514  $g_view_history_threshold = VIEWER;
2515  
2516  /**
2517   * access level needed to send a reminder from the bug view pages
2518   * set to NOBODY to disable the feature
2519   * @global int $g_bug_reminder_threshold
2520   */
2521  $g_bug_reminder_threshold = DEVELOPER;
2522  
2523  /**
2524   * Access lever required to drop bug history revisions
2525   * @global int $g_bug_revision_drop_threshold
2526   */
2527  $g_bug_revision_drop_threshold = MANAGER;
2528  
2529  /**
2530   * access level needed to upload files to the project documentation section
2531   * You can set this to NOBODY to prevent uploads to projects
2532   * See also: $g_upload_bug_file_threshold, $g_allow_file_upload
2533   * @global int $g_upload_project_file_threshold
2534   */
2535  $g_upload_project_file_threshold = MANAGER;
2536  
2537  /**
2538   * access level needed to upload files to attach to a bug
2539   * You can set this to NOBODY to prevent uploads to bugs but note that
2540   *  the reporter of the bug will still be able to upload unless you set
2541   *  $g_allow_reporter_upload or $g_allow_file_upload to OFF
2542   * See also: $g_upload_project_file_threshold, $g_allow_file_upload,
2543   *            $g_allow_reporter_upload
2544   * @global int $g_upload_bug_file_threshold
2545   */
2546  $g_upload_bug_file_threshold = REPORTER;
2547  
2548  /**
2549   * Add bugnote threshold
2550   * @global int $g_add_bugnote_threshold
2551   */
2552  $g_add_bugnote_threshold = REPORTER;
2553  
2554  /**
2555   * Threshold at which a user can edit the bugnotes of other users
2556   * @global int $g_update_bugnote_threshold
2557   */
2558  $g_update_bugnote_threshold = DEVELOPER;
2559  
2560  /**
2561   * Threshold needed to view project documentation
2562   * @global int $g_view_proj_doc_threshold
2563   */
2564  $g_view_proj_doc_threshold = ANYBODY;
2565  
2566  /**
2567   * Site manager
2568   * @global int $g_manage_site_threshold
2569   */
2570  $g_manage_site_threshold = MANAGER;
2571  
2572  /**
2573   * Threshold at which a user is considered to be a site administrator.
2574   * These users have "superuser" access to all aspects of MantisBT including
2575   * the admin/ directory. WARNING: DO NOT CHANGE THIS VALUE UNLESS YOU
2576   * ABSOLUTELY KNOW WHAT YOU'RE DOING! Users at this access level have the
2577   * ability to damage your MantisBT installation and data within the database.
2578   * It is strongly advised you leave this option alone.
2579   * @global int $g_admin_site_threshold
2580   */
2581  $g_admin_site_threshold = ADMINISTRATOR;
2582  
2583  /**
2584   * Threshold needed to manage a project: edit project
2585   * details (not to add/delete projects) ...etc.
2586   * @global int $g_manage_project_threshold
2587   */
2588  $g_manage_project_threshold = MANAGER;
2589  
2590  /**
2591   * Threshold needed to add/delete/modify news
2592   * @global int $g_manage_news_threshold
2593   */
2594  $g_manage_news_threshold = MANAGER;
2595  
2596  /**
2597   * Threshold required to delete a project
2598   * @global int $g_delete_project_threshold
2599   */
2600  $g_delete_project_threshold = ADMINISTRATOR;
2601  
2602  /**
2603   * Threshold needed to create a new project
2604   * @global int $g_create_project_threshold
2605   */
2606  $g_create_project_threshold = ADMINISTRATOR;
2607  
2608  /**
2609   * Threshold needed to be automatically included in private projects
2610   * @global int $g_private_project_threshold
2611   */
2612  $g_private_project_threshold = ADMINISTRATOR;
2613  
2614  /**
2615   * Threshold needed to manage user access to a project
2616   * @global int $g_project_user_threshold
2617   */
2618  $g_project_user_threshold = MANAGER;
2619  
2620  /**
2621   * Threshold needed to manage user accounts
2622   * @global int $g_manage_user_threshold
2623   */
2624  $g_manage_user_threshold = ADMINISTRATOR;
2625  
2626  /**
2627   * Delete bug threshold
2628   * @global int $g_delete_bug_threshold
2629   */
2630  $g_delete_bug_threshold = DEVELOPER;
2631  
2632  /**
2633   * Threshold at which a user can delete the bugnotes of other users.
2634   * The default value is equal to the configuration setting
2635   * $g_delete_bug_threshold.
2636   * @global string $g_delete_bugnote_threshold
2637   */
2638  $g_delete_bugnote_threshold = '%delete_bug_threshold%';
2639  
2640  /**
2641   * Move bug threshold
2642   * @global int $g_move_bug_threshold
2643   */
2644  $g_move_bug_threshold = DEVELOPER;
2645  
2646  /**
2647   * Threshold needed to set the view status while reporting a bug or a bug note.
2648   * @global int $g_set_view_status_threshold
2649   */
2650  $g_set_view_status_threshold = REPORTER;
2651  
2652  /**
2653   * Threshold needed to update the view status while updating a bug or a bug note.
2654   * This threshold should be greater or equal to $g_set_view_status_threshold.
2655   * @global int $g_change_view_status_threshold
2656   */
2657  $g_change_view_status_threshold = UPDATER;
2658  
2659  /**
2660   * Threshold needed to show the list of users montoring a bug on the bug view pages.
2661   * @global int $g_show_monitor_list_threshold
2662   */
2663  $g_show_monitor_list_threshold = DEVELOPER;
2664  
2665  /**
2666   * Threshold needed to be able to use stored queries
2667   * @global int $g_stored_query_use_threshold
2668   */
2669  $g_stored_query_use_threshold = REPORTER;
2670  
2671  /**
2672   * Threshold needed to be able to create stored queries
2673   * @global int $g_stored_query_create_threshold
2674   */
2675  $g_stored_query_create_threshold = DEVELOPER;
2676  
2677  /**
2678   * Threshold needed to be able to create shared stored queries
2679   * @global int $g_stored_query_create_shared_threshold
2680   */
2681  $g_stored_query_create_shared_threshold = MANAGER;
2682  
2683  /**
2684   * Threshold needed to update readonly bugs.  Readonly bugs are identified via
2685   * $g_bug_readonly_status_threshold.
2686   * @global int $g_update_readonly_bug_threshold
2687   */
2688  $g_update_readonly_bug_threshold = MANAGER;
2689  
2690  /**
2691   * threshold for viewing changelog
2692   * @global int $g_view_changelog_threshold
2693   */
2694  $g_view_changelog_threshold = VIEWER;
2695  
2696  /**
2697   * threshold for viewing roadmap
2698   * @global int $g_roadmap_view_threshold
2699   */
2700  $g_roadmap_view_threshold = VIEWER;
2701  
2702  /**
2703   * threshold for updating roadmap, target_version, etc
2704   * @global int $g_roadmap_update_threshold
2705   */
2706  $g_roadmap_update_threshold = DEVELOPER;
2707  
2708  /**
2709   * status change thresholds
2710   * @global int $g_update_bug_status_threshold
2711   */
2712  $g_update_bug_status_threshold = DEVELOPER;
2713  
2714  /**
2715   * access level needed to re-open bugs
2716   * @global int $g_reopen_bug_threshold
2717   */
2718  $g_reopen_bug_threshold = DEVELOPER;
2719  
2720  /**
2721   * access level needed to assign bugs to unreleased product versions
2722   * @global int $g_report_issues_for_unreleased_versions_threshold
2723   */
2724  $g_report_issues_for_unreleased_versions_threshold = DEVELOPER;
2725  
2726  /**
2727   * access level needed to set a bug sticky
2728   * @global int $g_set_bug_sticky_threshold
2729   */
2730  $g_set_bug_sticky_threshold = MANAGER;
2731  
2732  /**
2733   * The minimum access level for someone to be a member of the development team
2734   * and appear on the project information page.
2735   * @global int $g_development_team_threshold
2736   */
2737  $g_development_team_threshold = DEVELOPER;
2738  
2739  /**
2740   * this array sets the access thresholds needed to enter each status listed.
2741   * if a status is not listed, it falls back to $g_update_bug_status_threshold
2742   * example:
2743   * $g_set_status_threshold = array(
2744   *     ACKNOWLEDGED => MANAGER,
2745   *     CONFIRMED => DEVELOPER,
2746   *     CLOSED => MANAGER
2747   * );
2748   * @global array $g_set_status_threshold
2749   */
2750  $g_set_status_threshold = array();
2751  
2752  /**
2753   * Threshold at which a user can edit his/her own bugnotes.
2754   * The default value is equal to the configuration setting
2755   * $g_update_bugnote_threshold.
2756   * @global int $g_bugnote_user_edit_threshold
2757   */
2758  $g_bugnote_user_edit_threshold = '%update_bugnote_threshold%';
2759  
2760  /**
2761   * Threshold at which a user can delete his/her own bugnotes.
2762   * The default value is equal to the configuration setting
2763   * $g_delete_bugnote_threshold.
2764   * @global int $g_bugnote_user_delete_threshold
2765   */
2766  $g_bugnote_user_delete_threshold = '%delete_bugnote_threshold%';
2767  
2768  /**
2769   * Threshold at which a user can change the view state of his/her own bugnotes.
2770   * The default value is equal to the configuration setting
2771   * $g_change_view_status_threshold.
2772   * @global int $g_bugnote_user_change_view_state_threshold
2773   */
2774  $g_bugnote_user_change_view_state_threshold = '%change_view_status_threshold%';
2775  
2776  /**
2777   * Allow a bug to have no category
2778   * @global int $g_allow_no_category
2779   */
2780  $g_allow_no_category = OFF;
2781  
2782  /**
2783   * login method
2784   * CRYPT or PLAIN or MD5 or LDAP or BASIC_AUTH. You can simply change this at
2785   * will. MantisBT will try to figure out how the passwords were encrypted.
2786   * @global int $g_login_method
2787   */
2788  $g_login_method = MD5;
2789  
2790  /**
2791   * limit reporters. Set to ON if you wish to limit reporters to only viewing
2792   * bugs that they report.
2793   * @global int $g_limit_reporters
2794   */
2795  $g_limit_reporters = OFF;
2796  
2797  /**
2798   * reporter can close. Allow reporters to close the bugs they reported, after
2799   * they are marked resolved.
2800   * @global int $g_allow_reporter_close
2801   */
2802  $g_allow_reporter_close     = OFF;
2803  
2804  /**
2805   * reporter can reopen. Allow reporters to reopen the bugs they reported, after
2806   * they are marked resolved.
2807   * @global int $g_allow_reporter_reopen
2808   */
2809  $g_allow_reporter_reopen = ON;
2810  
2811  /**
2812   * reporter can upload
2813   * Allow reporters to upload attachments to bugs they reported.
2814   * @global int $g_allow_reporter_upload
2815   */
2816  $g_allow_reporter_upload = ON;
2817  
2818  /**
2819   * account delete
2820   * Allow users to delete their own accounts
2821   * @global int $g_allow_account_delete
2822   */
2823  $g_allow_account_delete = OFF;
2824  
2825  /**
2826   * Enable anonymous access to MantisBT. You must also specify
2827   * $g_anonymous_account as the account which anonymous users will browse
2828   * MantisBT with. The default setting is OFF.
2829   * @global int $g_allow_anonymous_login
2830   */
2831  $g_allow_anonymous_login = OFF;
2832  
2833  /**
2834   * Define the account which anonymous users will assume when using MantisBT.
2835   * You only need to define this setting when $g_allow_anonymous_login is set to
2836   * ON. This account will always be treated as a protected account and thus
2837   * anonymous users will not be able to update the preferences or settings of
2838   * this account. It is suggested that the access level of this account have
2839   * read only access to your MantisBT installation (VIEWER). Please read the
2840   * documentation on this topic before setting up anonymous access to your
2841   * MantisBT installation.
2842   * @global string $g_anonymous_account
2843   */
2844  $g_anonymous_account = '';
2845  
2846  /**
2847   * Bug Linking
2848   * if a number follows this tag it will create a link to a bug.
2849   * eg. for # a link would be #45
2850   * eg. for bug: a link would be bug:98
2851   * @global string $g_bug_link_tag
2852   */
2853  $g_bug_link_tag = '#';
2854  
2855  /**
2856   * Bugnote Linking
2857   * if a number follows this tag it will create a link to a bugnote.
2858   * eg. for ~ a link would be ~45
2859   * eg. for bugnote: a link would be bugnote:98
2860   * @global string $g_bugnote_link_tag
2861   */
2862  $g_bugnote_link_tag = '~';
2863  
2864  /**
2865   * Bug Count Linking
2866   * this is the prefix to use when creating links to bug views from bug counts
2867   * (eg. on the main page and the summary page).
2868   * Default is a temporary filter
2869   * only change the filter this time - 'view_all_set.php?type=1&amp;temporary=y'
2870   * permanently change the filter - 'view_all_set.php?type=1';
2871   * @global string $g_bug_count_hyperlink_prefix
2872   */
2873  $g_bug_count_hyperlink_prefix = 'view_all_set.php?type=1&amp;temporary=y';
2874  
2875  /**
2876   * The regular expression to use when validating new user login names
2877   * The default regular expression allows a-z, A-Z, 0-9, +, -, dot, space and
2878   * underscore.  If you change this, you may want to update the
2879   * ERROR_USER_NAME_INVALID string in the language files to explain
2880   * the rules you are using on your site
2881   * See http://en.wikipedia.org/wiki/Regular_Expression for more details about
2882   * regular expressions. For testing regular expressions, use
2883   * http://rubular.com/.
2884   * @global string $g_user_login_valid_regex
2885   */
2886  $g_user_login_valid_regex = '/^([a-z\d\-.+_ ]+(@[a-z\d\-.]+\.[a-z]{2,4})?)$/i';
2887  
2888  /**
2889   * Default user name prefix used to filter the list of users in
2890   * manage_user_page.php.  Change this to 'A' (or any other
2891   * letter) if you have a lot of users in the system and loading
2892   * the manage users page takes a long time.
2893   * @global string $g_default_manage_user_prefix
2894   */
2895  $g_default_manage_user_prefix = 'ALL';
2896  
2897  /**
2898   * Default tag prefix used to filter the list of tags in
2899   * manage_tags_page.php.  Change this to 'A' (or any other
2900   * letter) if you have a lot of tags in the system and loading
2901   * the manage tags page takes a long time.
2902   * @global string $g_default_manage_tag_prefix
2903   */
2904  $g_default_manage_tag_prefix = 'ALL';
2905  
2906  /**
2907   * CSV Export
2908   * Set the csv separator
2909   * @global string $g_csv_separator
2910   */
2911  $g_csv_separator = ',';
2912  
2913  /**
2914   * The threshold required for users to be able to manage configuration of a project.
2915   * This includes workflow, email notifications, columns to view, and others.
2916   */
2917  $g_manage_configuration_threshold = MANAGER;
2918  
2919  /**
2920   * threshold for users to view the system configurations
2921   * @global int $g_view_configuration_threshold
2922   */
2923  $g_view_configuration_threshold = ADMINISTRATOR;
2924  
2925  /**
2926   * threshold for users to set the system configurations generically via
2927   * MantisBT web interface.
2928   * WARNING: Users who have access to set configuration via the interface MUST
2929   * be trusted.  This is due to the fact that such users can set configurations
2930   * to PHP code and hence there can be a security risk if such users are not
2931   * trusted.
2932   * @global int $g_set_configuration_threshold
2933   */
2934  $g_set_configuration_threshold = ADMINISTRATOR;
2935  
2936  /************************************
2937   * MantisBT Look and Feel Variables *
2938   ************************************/
2939  
2940  /**
2941   * status color codes, using the Tango color palette
2942   * @global array $g_status_colors
2943   */
2944  $g_status_colors = array(
2945      'new'          => '#fcbdbd', // red    (scarlet red #ef2929)
2946      'feedback'     => '#e3b7eb', // purple (plum        #75507b)
2947      'acknowledged' => '#ffcd85', // orange (orango      #f57900)
2948      'confirmed'    => '#fff494', // yellow (butter      #fce94f)
2949      'assigned'     => '#c2dfff', // blue   (sky blue    #729fcf)
2950      'resolved'     => '#d2f5b0', // green  (chameleon   #8ae234)
2951      'closed'       => '#c9ccc4'  // grey   (aluminum    #babdb6)
2952  );
2953  
2954  /**
2955   * The padding level when displaying project ids
2956   *  The bug id will be padded with 0's up to the size given
2957   * @global int $g_display_project_padding
2958   */
2959  $g_display_project_padding = 3;
2960  
2961  /**
2962   * The padding level when displaying bug ids
2963   *  The bug id will be padded with 0's up to the size given
2964   * @global int $g_display_bug_padding
2965   */
2966  $g_display_bug_padding = 7;
2967  
2968  /**
2969   * The padding level when displaying bugnote ids
2970   *  The bugnote id will be padded with 0's up to the size given
2971   * @global int $g_display_bugnote_padding
2972   */
2973  $g_display_bugnote_padding = 7;
2974  
2975  /**
2976   * colours for configuration display
2977   * @global string $g_colour_project
2978   */
2979  $g_colour_project = 'LightGreen';
2980  
2981  /**
2982   * colours for configuration display
2983   * @global string $g_colour_global
2984   */
2985  $g_colour_global = 'LightBlue';
2986  
2987  /*****************************
2988   * MantisBT Cookie Variables *
2989   *****************************/
2990  
2991  /**
2992   * --- cookie path ---------------
2993   * set this to something more restrictive if needed
2994   * http://www.php.net/manual/en/function.setcookie.php
2995   * @global string $g_cookie_path
2996   */
2997  $g_cookie_path = '/';
2998  
2999  /**
3000   *
3001   * @global string $g_cookie_domain
3002   */
3003  $g_cookie_domain = '';
3004  
3005  /**
3006   * cookie version for view_all_page
3007   * @global string $g_cookie_version
3008   */
3009  $g_cookie_version = 'v8';
3010  
3011  /**
3012   * --- cookie prefix ---------------
3013   * set this to a unique identifier.  No spaces or periods.
3014   * @global string $g_cookie_prefix
3015   */
3016  $g_cookie_prefix = 'MANTIS';
3017  
3018  /**
3019   *
3020   * @global string $g_string_cookie
3021   */
3022  $g_string_cookie = '%cookie_prefix%_STRING_COOKIE';
3023  
3024  /**
3025   *
3026   * @global string $g_project_cookie
3027   */
3028  $g_project_cookie = '%cookie_prefix%_PROJECT_COOKIE';
3029  
3030  /**
3031   *
3032   * @global string $g_view_all_cookie
3033   */
3034  $g_view_all_cookie = '%cookie_prefix%_VIEW_ALL_COOKIE';
3035  
3036  /**
3037   *
3038   * @global string $g_manage_cookie
3039   */
3040  $g_manage_cookie = '%cookie_prefix%_MANAGE_COOKIE';
3041  
3042  /**
3043   *
3044   * @global string $g_logout_cookie
3045   */
3046  $g_logout_cookie = '%cookie_prefix%_LOGOUT_COOKIE';
3047  
3048  /**
3049   *
3050   * @global string $g_bug_list_cookie
3051   */
3052  $g_bug_list_cookie = '%cookie_prefix%_BUG_LIST_COOKIE';
3053  
3054  /*****************************
3055   * MantisBT Filter Variables *
3056   *****************************/
3057  
3058  /**
3059   *
3060   * @global int $g_filter_by_custom_fields
3061   */
3062  $g_filter_by_custom_fields = ON;
3063  
3064  /**
3065   *
3066   * @global int $g_filter_custom_fields_per_row
3067   */
3068  $g_filter_custom_fields_per_row = 8;
3069  
3070  /**
3071   *
3072   * @global int $g_view_filters
3073   */
3074  $g_view_filters = SIMPLE_DEFAULT;
3075  
3076  /**
3077   * This switch enables the use of AJAX to dynamically load and create filter
3078   * form controls upon request. This method will reduce the amount of data that
3079   * needs to be transferred upon each page load dealing with filters and thus
3080   * will result in speed improvements and bandwidth reduction.
3081   * @global int $g_use_dynamic_filters
3082   */
3083  $g_use_dynamic_filters = ON;
3084  
3085  /**
3086   * The threshold required for users to be able to create permalinks.  To turn
3087   * off this feature use NOBODY.
3088   * @global int $g_create_permalink_threshold
3089   */
3090  $g_create_permalink_threshold = DEVELOPER;
3091  
3092  /**
3093   * The service to use to create a short URL.  The %s will be replaced by the
3094   * long URL. To disable the feature set to ''.
3095   * @global string $g_create_short_url
3096   */
3097  $g_create_short_url = 'http://tinyurl.com/create.php?url=%s';
3098  
3099  /*************************************
3100   * MantisBT Database Table Variables *
3101   *************************************/
3102  
3103  /**
3104   * table prefix
3105   * @global string $g_db_table_prefix
3106   */
3107  $g_db_table_prefix = 'mantis';
3108  
3109  /**
3110   * table suffix
3111   * @global string $g_db_table_suffix
3112   */
3113  $g_db_table_suffix = '_table';
3114  
3115  /*************************
3116   * MantisBT Enum Strings *
3117   *************************/
3118  
3119  /**
3120   * status from $g_status_index-1 to 79 are used for the onboard customization
3121   * (if enabled) directly use MantisBT to edit them.
3122   * @global string $g_access_levels_enum_string
3123   */
3124  $g_access_levels_enum_string = '10:viewer,25:reporter,40:updater,55:developer,70:manager,90:administrator';
3125  
3126  /**
3127   *
3128   * @global string $g_project_status_enum_string
3129   */
3130  $g_project_status_enum_string = '10:development,30:release,50:stable,70:obsolete';
3131  
3132  /**
3133   *
3134   * @global string $g_project_view_state_enum_string
3135   */
3136  $g_project_view_state_enum_string = '10:public,50:private';
3137  
3138  /**
3139   *
3140   * @global string $g_view_state_enum_string
3141   */
3142  $g_view_state_enum_string = '10:public,50:private';
3143  
3144  /**
3145   *
3146   * @global string $g_priority_enum_string
3147   */
3148  $g_priority_enum_string = '10:none,20:low,30:normal,40:high,50:urgent,60:immediate';
3149  /**
3150   *
3151   * @global string $g_severity_enum_string
3152   */
3153  $g_severity_enum_string = '10:feature,20:trivial,30:text,40:tweak,50:minor,60:major,70:crash,80:block';
3154  
3155  /**
3156   *
3157   * @global string $g_reproducibility_enum_string
3158   */
3159  $g_reproducibility_enum_string = '10:always,30:sometimes,50:random,70:have not tried,90:unable to duplicate,100:N/A';
3160  
3161  /**
3162   *
3163   * @global string $g_status_enum_string
3164   */
3165  $g_status_enum_string = '10:new,20:feedback,30:acknowledged,40:confirmed,50:assigned,80:resolved,90:closed';
3166  
3167  /**
3168   * @@@ for documentation, the values in this list are also used to define
3169   * variables in the language files (e.g., $s_new_bug_title referenced in
3170   * bug_change_status_page.php ). Embedded spaces are converted to underscores
3171   * (e.g., "working on" references $s_working_on_bug_title). They are also
3172   * expected to be English names for the states
3173   * @global string $g_resolution_enum_string
3174   */
3175  $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';
3176  
3177  /**
3178   *
3179   * @global string $g_projection_enum_string
3180   */
3181  $g_projection_enum_string = '10:none,30:tweak,50:minor fix,70:major rework,90:redesign';
3182  
3183  /**
3184   *
3185   * @global string $g_eta_enum_string
3186   */
3187  $g_eta_enum_string = '10:none,20:< 1 day,30:2-3 days,40:< 1 week,50:< 1 month,60:> 1 month';
3188  
3189  /**
3190   *
3191   * @global string $g_sponsorship_enum_string
3192   */
3193  $g_sponsorship_enum_string = '0:Unpaid,1:Requested,2:Paid';
3194  
3195  /**
3196   *
3197   * @global string $g_custom_field_type_enum_string
3198   */
3199  $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';
3200  
3201  /*********************************
3202   * MantisBT Javascript Variables *
3203   *********************************/
3204  
3205  /**
3206   * allow the use of Javascript?
3207   * @global int $g_use_javascript
3208   */
3209  $g_use_javascript = ON;
3210  
3211  /*******************************
3212   * MantisBT Speed Optimisation *
3213   *******************************/
3214  
3215  /**
3216   * Use compression of generated html if browser supports it. If you already
3217   * have compression enabled in your php.ini file (either with
3218   * zlib.output_compression or output_handler=ob_gzhandler) this option will be
3219   * ignored.
3220   *
3221   * If you do not have zlib enabled in your PHP installation this option will
3222   * also be ignored.  PHP 4.3.0 and later have zlib included by default. Windows
3223   * users should uncomment the appropriate line in their php.ini files to load
3224   * the zlib DLL. You can check what extensions are loaded by running "php -m"
3225   * at the command line (look for 'zlib')
3226   * @global int $g_compress_html
3227   */
3228  $g_compress_html = ON;
3229  
3230  /**
3231   * Use persistent database connections
3232   * @global int $g_use_persistent_connections
3233   */
3234  $g_use_persistent_connections = OFF;
3235  
3236  /*****************
3237   * Include files *
3238   *****************/
3239  
3240  /**
3241   * Specify your top/bottom include file (logos, banners, etc)
3242   * @global string $g_bottom_include_page
3243   */
3244  $g_bottom_include_page = '%absolute_path%';
3245  
3246  /**
3247   * Specify your top/bottom include file (logos, banners, etc). If a top file is
3248   * supplied, the default MantisBT logo at the top will be hidden.
3249   * @global string $g_top_include_page
3250   */
3251  $g_top_include_page = '%absolute_path%';
3252  
3253  /**
3254   * CSS file
3255   * @global string $g_css_include_file
3256   */
3257  $g_css_include_file = 'default.css';
3258  
3259  /**
3260   * RTL CSS file
3261   * @global string $g_css_rtl_include_file
3262   */
3263  $g_css_rtl_include_file = 'rtl.css';
3264  
3265  
3266  /**
3267   * meta tags
3268   * @global string $g_meta_include_file
3269   */
3270  $g_meta_include_file = '%absolute_path%meta_inc.php';
3271  
3272  /****************
3273   * Redirections *
3274   ****************/
3275  
3276  /**
3277   * Default page after Login or Set Project
3278   * @global string $g_default_home_page
3279   */
3280  $g_default_home_page = 'my_view_page.php';
3281  
3282  /**
3283   * Specify where the user should be sent after logging out.
3284   * @global string $g_logout_redirect_page
3285   */
3286  $g_logout_redirect_page = 'login_page.php';
3287  
3288  /***********
3289   * Headers *
3290   ***********/
3291  
3292  /**
3293   * An array of headers to be sent with each page.
3294   * For example, to allow your MantisBT installation to be viewed in a frame in
3295   * IE6 when the frameset is not at the same hostname as the MantisBT install,
3296   * you need to add a P3P header. You could try something like
3297   * 'P3P: CP="CUR ADM"' in your config file, but make sure to check that the
3298   * your policy actually matches with what you are promising. See
3299   * http://msdn.microsoft.com/en-us/library/ms537343.aspx for more information.
3300   * @global array $g_custom_headers
3301   */
3302  $g_custom_headers = array();
3303  
3304  /**
3305   * Browser Caching Control
3306   * By default, we try to prevent the browser from caching anything. These two
3307   * settings will defeat this for some cases.
3308   *
3309   * Browser Page caching - This will allow the browser to cache all pages. The
3310   * upside will be better performance, but there may be cases where obsolete
3311   * information is displayed. Note that this will be bypassed (and caching is
3312   * allowed) for the bug report pages.
3313   *
3314   * @global int $g_allow_browser_cache
3315   */
3316  // $g_allow_browser_cache = ON;
3317  /**
3318   * File caching - This will allow the browser to cache downloaded files.
3319   * Without this set, there may be issues with IE receiving files, and launching
3320   * support programs.
3321   * @global int $g_allow_file_cache
3322   */
3323   // $g_allow_file_cache = ON;
3324  
3325  /*****************
3326   * Custom Fields *
3327   *****************/
3328  
3329  /**
3330   * Threshold needed to manage custom fields
3331   * @global int $g_manage_custom_fields_threshold
3332   */
3333  $g_manage_custom_fields_threshold = ADMINISTRATOR;
3334  
3335  /**
3336   * Threshold needed to link/unlink custom field to/from a project
3337   * @global int $g_custom_field_link_threshold
3338   */
3339  $g_custom_field_link_threshold = MANAGER;
3340  
3341  /**
3342   * Whether to start editng a custom field immediately after creating it
3343   * @global int $g_custom_field_edit_after_create
3344   */
3345  $g_custom_field_edit_after_create = ON;
3346  
3347  /****************
3348   * Custom Menus *
3349   ****************/
3350  
3351  /**
3352   * Add custom options to the main menu.  For example:
3353   * $g_main_menu_custom_options = array(
3354   *     array( "My Link",  MANAGER,       'my_link.php' ),
3355   *     array( "My Link2", ADMINISTRATOR, 'my_link2.php' )
3356   * );
3357   *
3358   * Note that if the caption is found in custom_strings_inc.php, then it will be
3359   * replaced by the translated string.  Options will only be added to the menu
3360   * if the current logged in user has the appropriate access level.
3361   * @global array $g_main_menu_custom_options
3362   */
3363  $g_main_menu_custom_options = array();
3364  
3365  /*********
3366   * Icons *
3367   *********/
3368  
3369  /**
3370   * Maps a file extension to a file type icon.  These icons are printed
3371   * next to project documents and bug attachments.
3372   * Note:
3373   * - Extensions must be in lower case
3374   * - All icons will be displayed as 16x16 pixels.
3375   * @global array $g_file_type_icons
3376   */
3377  $g_file_type_icons = array(
3378      ''    => 'text.gif',
3379      '7z'    => 'zip.gif',
3380      'ace'    => 'zip.gif',
3381      'arj'    => 'zip.gif',
3382      'bz2'    => 'zip.gif',
3383      'c'    => 'cpp.gif',
3384      'chm'    => 'chm.gif',
3385      'cpp'    => 'cpp.gif',
3386      'css'    => 'css.gif',
3387      'csv'    => 'csv.gif',
3388      'cxx'    => 'cpp.gif',
3389      'diff'    => 'text.gif',
3390      'doc'    => 'doc.gif',
3391      'docx'    => 'doc.gif',
3392      'dot'    => 'doc.gif',
3393      'eml'    => 'eml.gif',
3394      'htm'    => 'html.gif',
3395      'html'    => 'html.gif',
3396      'gif'    => 'gif.gif',
3397      'gz'    => 'zip.gif',
3398      'jpe'    => 'jpg.gif',
3399      'jpg'    => 'jpg.gif',
3400      'jpeg'    => 'jpg.gif',
3401      'log'    => 'text.gif',
3402      'lzh'    => 'zip.gif',
3403      'mhtml'    => 'html.gif',
3404      'mid'    => 'mid.gif',
3405      'midi'    => 'mid.gif',
3406      'mov'    => 'mov.gif',
3407      'msg'    => 'eml.gif',
3408      'one'    => 'one.gif',
3409      'patch'    => 'text.gif',
3410      'pcx'    => 'pcx.gif',
3411      'pdf'    => 'pdf.gif',
3412      'png'    => 'png.gif',
3413      'pot'    => 'pot.gif',
3414      'pps'    => 'pps.gif',
3415      'ppt'    => 'ppt.gif',
3416      'pptx'    => 'ppt.gif',
3417      'pub'    => 'pub.gif',
3418      'rar'    => 'zip.gif',
3419      'reg'    => 'reg.gif',
3420      'rtf'    => 'doc.gif',
3421      'tar'    => 'zip.gif',
3422      'tgz'    => 'zip.gif',
3423      'txt'    => 'text.gif',
3424      'uc2'    => 'zip.gif',
3425      'vsd'    => 'vsd.gif',
3426      'vsl'    => 'vsl.gif',
3427      'vss'    => 'vsd.gif',
3428      'vst'    => 'vst.gif',
3429      'vsu'    => 'vsd.gif',
3430      'vsw'    => 'vsd.gif',
3431      'vsx'    => 'vsd.gif',
3432      'vtx'    => 'vst.gif',
3433      'wav'    => 'wav.gif',
3434      'wbk'    => 'wbk.gif',
3435      'wma'    => 'wav.gif',
3436      'wmv'    => 'mov.gif',
3437      'wri'    => 'wri.gif',
3438      'xlk'    => 'xls.gif',
3439      'xls'    => 'xls.gif',
3440      'xlsx'    => 'xls.gif',
3441      'xlt'    => 'xlt.gif',
3442      'xml'    => 'xml.gif',
3443      'zip'    => 'zip.gif',
3444      '?'    => 'generic.gif' );
3445  
3446  /**
3447   * Icon associative arrays
3448   * Status to icon mapping
3449   * @global array $g_status_icon_arr
3450   */
3451  $g_status_icon_arr = array (
3452      NONE      => '',
3453      LOW       => 'priority_low_1.gif',
3454      NORMAL    => 'priority_normal.gif',
3455      HIGH      => 'priority_1.gif',
3456      URGENT    => 'priority_2.gif',
3457      IMMEDIATE => 'priority_3.gif'
3458  );
3459  
3460  /**
3461   * Sort direction to icon mapping
3462   * @global array $g_sort_icon_arr
3463   */
3464  $g_sort_icon_arr = array (
3465      ASCENDING  => 'up.gif',
3466      DESCENDING => 'down.gif'
3467  );
3468  
3469  /**
3470   * Read status to icon mapping
3471   * @global array $g_unread_icon_arr
3472   */
3473  $g_unread_icon_arr = array (
3474      READ   => 'mantis_space.gif',
3475      UNREAD => 'unread.gif'
3476  );
3477  
3478  /********************
3479   * My View Settings *
3480   ********************/
3481  
3482  /**
3483   * Number of bugs shown in each box
3484   * @global int $g_my_view_bug_count
3485   */
3486  $g_my_view_bug_count = 10;
3487  
3488  /**
3489   * Boxes to be shown and their order
3490   * A box that is not to be shown can have its value set to 0
3491   * @global array $g_my_view_boxes
3492   */
3493  $g_my_view_boxes = array (
3494      'assigned'      => '1',
3495      'unassigned'    => '2',
3496      'reported'      => '3',
3497      'resolved'      => '4',
3498      'recent_mod'    => '5',
3499      'monitored'     => '6',
3500      'feedback'      => '0',
3501      'verify'        => '0',
3502      'my_comments'   => '0'
3503  );
3504  
3505  /**
3506   * Toggle whether 'My View' boxes are shown in a fixed position (i.e. adjacent
3507   * boxes start at the same vertical position)
3508   * @global int $g_my_view_boxes_fixed_position
3509   */
3510  $g_my_view_boxes_fixed_position = ON;
3511  
3512  
3513  /*************
3514   * RSS Feeds *
3515   *************/
3516  
3517  /**
3518   * This flag enables or disables RSS syndication.  In the case where RSS
3519   * syndication is not used, it is recommended to set it to OFF.
3520   * @global int $g_rss_enabled
3521   */
3522  $g_rss_enabled = ON;
3523  
3524  
3525  /*********************
3526   * Bug Relationships *
3527   *********************/
3528  
3529  /**
3530   * Enable relationship graphs support.
3531   * Show issue relationships using graphs.
3532   *
3533   * In order to use this feature, you must first install GraphViz.
3534   *
3535   * Graphviz homepage:    http://www.research.att.com/sw/tools/graphviz/
3536   *
3537   * Refer to the notes near the top of core/graphviz_api.php and
3538   * core/relationship_graph_api.php for more information.
3539   * @global int $g_relationship_graph_enable
3540   */
3541  $g_relationship_graph_enable = OFF;
3542  
3543  /**
3544   * Complete path to dot and neato tools. Your webserver must have execute
3545   * permission to these programs in order to generate relationship graphs.
3546   * NOTE: On windows, the IIS user may require permissions to cmd.exe to be able to use PHP's proc_open
3547   * @global string $g_dot_tool
3548   */
3549  $g_dot_tool = '/usr/bin/dot';
3550  /**
3551   * Complete path to dot and neato tools. Your webserver must have execute
3552   * permission to these programs in order to generate relationship graphs.
3553   * NOTE: On windows, the IIS user may require permissions to cmd.exe to be able to use PHP's proc_open
3554   * @global string $g_neato_tool
3555   */
3556  $g_neato_tool = '/usr/bin/neato';
3557  
3558  /**
3559   * Font name and size, as required by Graphviz. If Graphviz fails to run
3560   * for you, you are probably using a font name that gd can't find. On
3561   * Linux, try the name of the font file without the extension.
3562   * @global string $g_relationship_graph_fontname
3563   */
3564  $g_relationship_graph_fontname = 'Arial';
3565  
3566  /**
3567   *
3568   * @global int $g_relationship_graph_fontsize
3569   */
3570  $g_relationship_graph_fontsize = 8;
3571  
3572  /**
3573   * Default dependency orientation. If you have issues with lots of childs
3574   * or parents, leave as 'horizontal', otherwise, if you have lots of
3575   * "chained" issue dependencies, change to 'vertical'.
3576   * @global string $g_relationship_graph_orientation
3577   */
3578  $g_relationship_graph_orientation = 'horizontal';
3579  
3580  /**
3581   * Max depth for relation graphs. This only affects relation graphs,
3582   * dependency graphs are drawn to the full depth. A value of 3 is already
3583   * enough to show issues really unrelated to the one you are currently
3584   * viewing.
3585   * @global int $g_relationship_graph_max_depth
3586   */
3587  $g_relationship_graph_max_depth = 2;
3588  
3589  /**
3590   * If set to ON, clicking on an issue on the relationship graph will open
3591   * the bug view page for that issue, otherwise, will navigate to the
3592   * relationship graph for that issue.
3593   *
3594   * @global int $g_relationship_graph_view_on_click
3595   */
3596  $g_relationship_graph_view_on_click = OFF;
3597  
3598  /**
3599   * Number of years in the past that custom date fields will display in
3600   * drop down boxes.
3601   * @global int $g_backward_year_count
3602   */
3603  $g_backward_year_count = 4;
3604  
3605  /**
3606   * Number of years in the future that custom date fields will display in
3607   * drop down boxes.
3608   * @global int $g_forward_year_count
3609   */
3610  $g_forward_year_count = 4;
3611  
3612  /**
3613   * Custom Group Actions
3614   *
3615   * This extensibility model allows developing new group custom actions.  This
3616   * can be implemented with a totally custom form and action pages or with a
3617   * pre-implemented form and action page and call-outs to some functions.  These
3618   * functions are to be implemented in a predefined file whose name is based on
3619   * the action name. For example, for an action to add a note, the action would
3620   * be EXT_ADD_NOTE and the file implementing it would be
3621   * bug_actiongroup_add_note_inc.php. See implementation of this file for
3622   * details.
3623   *
3624   * Sample:
3625   *
3626   * array(
3627   *    array(
3628   *        'action' => 'my_custom_action',
3629   *        'label' => 'my_label',   // string to be passed to lang_get_defaulted()
3630   *        'form_page' => 'my_custom_action_page.php',
3631   *        'action_page' => 'my_custom_action.php'
3632   *    )
3633   *    array(
3634   *        'action' => 'my_custom_action2',
3635   *        'form_page' => 'my_custom_action2_page.php',
3636   *        'action_page' => 'my_custom_action2.php'
3637   *    )
3638   *    array(
3639   *        'action' => 'EXT_ADD_NOTE',  // you need to implement bug_actiongroup_<action_without_'EXT_')_inc.php
3640   *        'label' => 'actiongroup_menu_add_note' // see strings_english.txt for this label
3641   *    )
3642   * );
3643   *
3644   * @global array $g_custom_group_actions
3645   */
3646  $g_custom_group_actions = array();
3647  
3648  /********************
3649   * Wiki Integration *
3650   ********************/
3651  
3652  /**
3653   * Wiki Integration Enabled?
3654   * @global int $g_wiki_enable
3655   */
3656  $g_wiki_enable = OFF;
3657  
3658  /**
3659   * Wiki Engine.
3660   * Supported engines: 'dokuwiki', 'mediawiki', 'twiki', 'wikka', 'xwiki'
3661   * @global string $g_wiki_engine
3662   */
3663  $g_wiki_engine = '';
3664  
3665  /**
3666   * Wiki namespace to be used as root for all pages relating to this MantisBT
3667   * installation.
3668   * @global string $g_wiki_root_namespace
3669   */
3670  $g_wiki_root_namespace = 'mantis';
3671  
3672  /**
3673   * URL under which the wiki engine is hosted.  Must be on the same server.
3674   * @global string $g_wiki_engine_url
3675   */
3676  $g_wiki_engine_url = $t_protocol . '://' . $t_host . '/%wiki_engine%/';
3677  
3678  /********************
3679   * Recently Visited *
3680   ********************/
3681  
3682  /**
3683   * Whether to show the most recently visited issues or not.  At the moment we always track them even if this flag is off.
3684   * @global int $g_recently_visited
3685   */
3686  $g_recently_visited = ON;
3687  
3688  /**
3689   * The maximum number of issues to keep in the recently visited list.
3690   * @global int $g_recently_visited_count
3691   */
3692  $g_recently_visited_count = 5;
3693  
3694  /***************
3695   * Bug Tagging *
3696   ***************/
3697  
3698  /**
3699   * String that will separate tags as entered for input
3700   * @global int $g_tag_separator
3701   */
3702  $g_tag_separator = ',';
3703  
3704  /**
3705   * Access level required to view tags attached to a bug
3706   * @global int $g_tag_view_threshold
3707   */
3708  $g_tag_view_threshold = VIEWER;
3709  
3710  /**
3711   * Access level required to attach tags to a bug
3712   * @global int $g_tag_attach_threshold
3713   */
3714  $g_tag_attach_threshold = REPORTER;
3715  
3716  /**
3717   * Access level required to detach tags from a bug
3718   * @global int $g_tag_detach_threshold
3719   */
3720  $g_tag_detach_threshold = DEVELOPER;
3721  
3722  /**
3723   * Access level required to detach tags attached by the same user
3724   * @global int $g_tag_detach_own_threshold
3725   */
3726  $g_tag_detach_own_threshold = REPORTER;
3727  
3728  /**
3729   * Access level required to create new tags
3730   * @global int $g_tag_create_threshold
3731   */
3732  $g_tag_create_threshold = REPORTER;
3733  
3734  /**
3735   * Access level required to edit tag names and descriptions
3736   * @global int $g_tag_edit_threshold
3737   */
3738  $g_tag_edit_threshold = DEVELOPER;
3739  
3740  /**
3741   * Access level required to edit descriptions by the creating user
3742   * @global int $g_tag_edit_own_threshold
3743   */
3744  $g_tag_edit_own_threshold = REPORTER;
3745  
3746  /*****************
3747   * Time tracking *
3748   *****************/
3749  
3750  /**
3751   * Turn on Time Tracking accounting
3752   * @global int $g_time_tracking_enabled
3753   */
3754  $g_time_tracking_enabled = OFF;
3755  
3756  /**
3757   * A billing sums
3758   * @global int $g_time_tracking_with_billing
3759   */
3760  $g_time_tracking_with_billing = OFF;
3761  
3762  /**
3763   * Stop watch to build time tracking field
3764   * @global int $g_time_tracking_stopwatch
3765   */
3766  $g_time_tracking_stopwatch = OFF;
3767  
3768  /**
3769   * access level required to view time tracking information
3770   * @global int $g_time_tracking_view_threshold
3771   */
3772  $g_time_tracking_view_threshold = DEVELOPER;
3773  
3774  /**
3775   * access level required to add/edit time tracking information
3776   * @global int $g_time_tracking_edit_threshold
3777   */
3778  $g_time_tracking_edit_threshold = DEVELOPER;
3779  
3780  /**
3781   * access level required to run reports
3782   * @global int $g_time_tracking_reporting_threshold
3783   */
3784  $g_time_tracking_reporting_threshold = MANAGER;
3785  
3786  /**
3787   * allow time tracking to be recorded without a bugnote
3788   * @global int $g_time_tracking_without_note
3789   */
3790  $g_time_tracking_without_note = ON;
3791  
3792  /****************************
3793   * Profile Related Settings *
3794   ****************************/
3795  
3796  /**
3797   * Enable Profiles
3798   * @global int $g_enable_profiles
3799   */
3800  $g_enable_profiles = ON;
3801  
3802  /**
3803   * Add profile threshold
3804   * @global int $g_add_profile_threshold
3805   */
3806  $g_add_profile_threshold = REPORTER;
3807  
3808  /**
3809   * Threshold needed to be able to create and modify global profiles
3810   * @global int $g_manage_global_profile_threshold
3811   */
3812  $g_manage_global_profile_threshold = MANAGER;
3813  
3814  /**
3815   * Allows the users to enter free text when reporting/updating issues
3816   * for the profile related fields (i.e. platform, os, os build)
3817   * @global int $g_allow_freetext_in_profile_fields
3818   */
3819  $g_allow_freetext_in_profile_fields = ON;
3820  
3821  /********************
3822   * Twitter Settings *
3823   ********************/
3824  
3825  /**
3826   * The integration with twitter allows for a MantisBT installation to post
3827   * updates to a twitter account.  This feature will be disabled if username
3828   * is empty or if the curl extension is not enabled.
3829   *
3830   * The twitter account user name.
3831   * @global string $g_twitter_username
3832   */
3833  $g_twitter_username = '';
3834  
3835  /**
3836   * The twitter account password.
3837   * @global string $g_twitter_password
3838   */
3839  $g_twitter_password = '';
3840  
3841  /*****************
3842   * Plugin System *
3843   *****************/
3844  
3845  /**
3846   * enable/disable plugins
3847   * @global int $g_plugins_enabled
3848   */
3849  $g_plugins_enabled = ON;
3850  
3851  /**
3852   * absolute path to plugin files.
3853   * @global string $g_plugin_path
3854   */
3855  $g_plugin_path = $g_absolute_path . 'plugins' . DIRECTORY_SEPARATOR;
3856  
3857  /**
3858   * management threshold.
3859   * @global int $g_manage_plugin_threshold
3860   */
3861  $g_manage_plugin_threshold = ADMINISTRATOR;
3862  
3863  /**
3864   * Force installation and protection of certain plugins.
3865   * Note that this is not the preferred method of installing plugins,
3866   * which should generally be done directly through the plugin management
3867   * interface.  However, this method will prevent users with admin access
3868   * from uninstalling plugins through the plugin management interface.
3869   *
3870   * Entries in the array must be in the form of a key/value pair
3871   * consisting of the plugin basename and priority, as such:
3872   *
3873   * = array(
3874   *     'PluginA' => 5,
3875   *     'PluginB' => 5,
3876   *     ...
3877   *
3878   * @global $g_plugins_force_installed
3879   */
3880  $g_plugins_force_installed = array();
3881  
3882  /************
3883   * Due Date *
3884   ************/
3885  
3886  /**
3887   * threshold to update due date submitted
3888   * @global int $g_due_date_update_threshold
3889   */
3890  $g_due_date_update_threshold = NOBODY;
3891  
3892  /**
3893   * threshold to see due date
3894   * @global int $g_due_date_view_threshold
3895   */
3896  $g_due_date_view_threshold = NOBODY;
3897  
3898  /*****************
3899   * Sub-projects
3900   *****************
3901  
3902  /**
3903   * Sub-projects should inherit categories from parent projects.
3904   */
3905  $g_subprojects_inherit_categories = ON;
3906  
3907  /**
3908   * Sub-projects should inherit versions from parent projects.
3909   */
3910  $g_subprojects_inherit_versions = ON;
3911  
3912  /**********************************
3913   * Debugging / Developer Settings *
3914   **********************************/
3915  
3916  /**
3917   * Time page loads. The page execution timer shows at the bottom of each page.
3918   * @global int $g_show_timer
3919   */
3920  $g_show_timer = OFF;
3921  
3922  /**
3923   * Show memory usage for each page load in the footer.
3924   * @global int $g_show_memory_usage
3925   */
3926  $g_show_memory_usage = OFF;
3927  
3928  /**
3929   * Used for debugging e-mail feature, when set to OFF the emails work as normal.
3930   * when set to e-mail address, all e-mails are sent to this address with the
3931   * original To, Cc, Bcc included in the message body.
3932   * @global int $g_debug_email
3933   */
3934  $g_debug_email = OFF;
3935  
3936  /**
3937   * Shows the total number/unique number of queries executed to serve the page.
3938   * @global int $g_show_queries_count
3939   */
3940  $g_show_queries_count = OFF;
3941  
3942  /**
3943   * --- detailed error messages -----
3944   * Shows a list of variables and their values when an error is triggered
3945   * Only applies to error types configured to 'halt' in $g_display_errors, below
3946   * WARNING: Potential security hazard.  Only turn this on when you really
3947   * need it for debugging
3948   * @global int $g_show_detailed_errors
3949   */
3950  $g_show_detailed_errors = OFF;
3951  
3952  /**
3953   * --- error display ---
3954   * what errors are displayed and how?
3955   * The options for display are:
3956   *  'halt' - stop and display traceback
3957   *  'inline' - display 1 line error and continue
3958   *  'none' - no error displayed
3959   * A developer might set this in config_inc.php as:
3960   *    $g_display_errors = array(
3961   *        E_WARNING => 'halt',
3962   *        E_NOTICE => 'halt',
3963   *        E_USER_ERROR => 'halt',
3964   *        E_USER_WARNING => 'none',
3965   *        E_USER_NOTICE => 'none'
3966   *    );
3967   * @global array $g_display_errors
3968   */
3969  $g_display_errors = array(
3970      E_WARNING => 'inline',
3971      E_NOTICE => 'none',
3972      E_USER_ERROR => 'halt',
3973      E_USER_WARNING => 'inline',
3974      E_USER_NOTICE => 'none'
3975  );
3976  
3977  /**
3978   * --- debug messages ---
3979   * If this option is turned OFF (default) page redirects will continue to
3980   *  function even if a non-fatal error occurs.  For debugging purposes, you
3981   *  can set this to ON so that any non-fatal error will prevent page redirection,
3982   *  allowing you to see the errors.
3983   * Only turn this option on for debugging
3984   * @global int $g_stop_on_errors
3985   */
3986  $g_stop_on_errors = OFF;
3987  
3988  /**
3989   * --- system logging ---
3990   * This controls the logging of information to a separate file for debug or audit
3991   * $g_log_level controls what information is logged
3992   *  see constant_inc.php for details on the log channels available
3993   *  e.g., $g_log_level = LOG_EMAIL | LOG_EMAIL_RECIPIENT | LOG_FILTERING | LOG_AJAX;
3994   *
3995   * $g_log_destination specifies the file where the data goes
3996   *   right now, only "file:<file path>" is supported
3997   *   e.g. (Linux), $g_log_destination = 'file:/tmp/mantisbt.log';
3998   *   e.g. (Windows), $g_log_destination = 'file:c:/temp/mantisbt.log';
3999   *   see http://www.php.net/error_log for details
4000   * @global int $g_log_level
4001   */
4002  $g_log_level = LOG_NONE;
4003  
4004  /**
4005   * 4 Options currently exist for log destination:
4006   * a) '': The default value (empty string) means default PHP error log settings
4007   * b) 'file': Log to a specific file - specified as 'file:/var/log/mantis.log'
4008   * c) 'firebug': make use of firefox's firebug addon from http://getfirebug.com/ - Note: if user is 
4009   *    not running firefox, this options falls through to the default php error log settings.
4010   * d) 'page': Display log output at bottom of the page.
4011   * @global string $g_log_destination
4012   */
4013  $g_log_destination = '';
4014  
4015  /**
4016   * Indicates the access level required for a user to see the log output (if log_destination is page)
4017   * Note that this threshold is compared against the user's default global access level rather than 
4018   * the threshold based on the current active project.
4019   *
4020   * @global int $g_show_log_threshold
4021   */
4022  $g_show_log_threshold = ADMINISTRATOR;
4023  
4024  /**************************
4025   * Configuration Settings *
4026   **************************/
4027  
4028  /**
4029   * The following list of variables should never be in the database.
4030   * These patterns will be concatenated and used as a regular expression
4031   * to bypass the database lookup and look here for appropriate global settings.
4032   * @global array $g_global_settings
4033   */
4034  $g_global_settings = array(
4035      'global_settings',
4036      'admin_checks',
4037      'allow_signup',
4038      'anonymous',
4039      'compress_html',
4040      'content_expire',
4041      'cookie',
4042      'crypto_master_salt',
4043      'custom_headers',
4044      'database_name',
4045      '^db_',
4046      'display_errors',
4047      'form_security_',
4048      'hostname',
4049      'html_valid_tags',
4050      'language',
4051      'login_method',
4052      'plugins_enabled',
4053      'plugins_installed',
4054      'session_',
4055      'show_detailed_errors',
4056      'show_queries_',
4057      'stop_on_errors',
4058      'use_javascript',
4059      'version_suffix',
4060      '[^_]file[(_(?!threshold))$]',
4061      '[^_]path[_$]',
4062      '_page$',
4063      '_table$',
4064      '_url$',
4065  );


Generated: Thu Jul 28 15:48:31 2011 Cross-referenced by PHPXref 0.7