  You're browsing the documentation for an old version of SupportPal. Consider upgrading to the [latest version](https://docs.supportpal.com/current/App+Configuration). 

# App Configuration

The app.php file contains most application specific configuration items. This document provides an list of configuration items available in the app.php file, allowing you to modify them as necessary.

For details on how to set the below configuration items, please read: [Updating Config Files](Updating+Config+Files).

## Throttling

SupportPal throttles ticket requests by user email address, to ensure users do not spam the help desk. The functionality is particularly useful in the case of email where automated replies cause hundreds of tickets to be generated.

### Ticket Throttling

   Name Description Valid values Default   `ticket_throttle_max_requests` The maximum number of tickets a user is allowed to create before further attempts are blocked, also see: `ticket_throttle_decay`. ```
integer
```

 ```
3
```

   `ticket_throttle_decay` The number of minutes before ticket requests are decayed. For example, by default a user can create 3 tickets within 5 minutes. ```
integer
```

 ```
5
```

  ### Email Throttling

   Name Description Valid values Default   `email_throttle_max_requests` The maximum number of emails a user is allowed to send to the help desk before further attempts are blocked, also see: `email_throttle_decay`. ```
integer
```

 ```
5
```

   `email_throttle_decay` The number of minutes before email requests are decayed. For example, by default a the same email address can send 5 emails to the help desk within 15 minutes. ```
integer
```

 ```
15
```

  ## Timeouts

   Name Description Valid values Default   `ldap_timeout` The number of seconds to wait before timing out the connection to the LDAP server. ```
integer
```

 ```
5
```

   `scheduled_task_timeout` The number of seconds to wait before resetting a scheduled task (default: 15 minutes). ```
integer
```

 ```
900
```

   `confirm_password_timeout` How often operators are asked to confirm their password when making changes to other operator accounts (in seconds, default: 10 minutes). Set to -1 to completely disable the "Confirm Password" field. ```
integer
```

 ```
600
```

  ## Tickets

   Name Description Valid values Default   `empty_ticket_trash` The number of days after which tickets in the trash are deleted permanently automatically, counts from when the ticket was moved to the trash. ```
integer
```

 ```
30
```

  ## Ticket Messages

   Name Description Valid values Default   `message_load_limit` By default, 20 messages (latest or earliest depending on `<span>message_load_order</span>`) that are less than `<span>max_message_size</span>` are loaded in full and further messages are loaded by AJAX when opened, this is to improve performance on large tickets. If you still experience performance issues, you can set this setting to limit the further number of messages texts that are fetched. Set to null for no limit to be applied. ```
integer
```

 ```
20
```

   `message_load_no` The number of messages that should be loaded in full. By default, the first and last two messages are loaded in full. Set to `null` to to load all messages in full and turn off the AJAX loading of ticket messages. ```
integer
```

 ```
2
```

   `message_load_order` If we wish to automatically load the latest (default) or earliest `<span>message_load_limit</span> `messages when loading the ticket. ```
asc, desc
```

 ```
desc
```

   `max_message_size` Messages that are greater than this size in bytes will be clipped and sometimes loaded via AJAX on the frontend and operator ticket view. Clipped messages, are viewable by clicking the "View entire message" link at the bottom of the message. ```
integer (bytes)
```

 ```
102000
```

  ## Log Files

   Name Description Valid values Default   `log` A number of log file formats are available out of the box. The daily format, relies on `log_max_files` to determine how often files should be rotated. ```
single, daily, syslog, errorlog
```

 ```
daily
```

   `log_max_files` The number of log files to retain (per logger instance). ```
integer
```

 ```
5
```

   `log_level` Log all levels greater than or equal to the specified severity level. For example, a log\_level of `error` will log `error, critical, alert, and emergency` messages. ```
debug, info, notice, warning,
```

```
error, critical, alert, emergency
```

 ```
debug
```

   `raw_email_expiry_days` The number of days that raw email log files are stored on the file system. Emails from pre-2.4.0 are stored in the database and must be pruned via the [System Cleanup](System+Cleanup#Logs) tool. ```
integer
```

 ```
30
```

  ## Other

   Name Description Valid values Default   `total_visible_recipients` The total number of recipients that should be visible when viewing the e-mail log. If there are more addresses, "and x others" will be shown. ```
integer
```

 ```
2
```

   `timeago` Can be used to disable the relative times (e.g. '1 hour ago') throughout the system. ```
bool
```

 ```
true
```

   `selfservice_articles` The number of articles to show per category in the self-service by default, for 'hierarchical' types only. ```
integer
```

 ```
3
```