ajax-chat/public/lib/config.php
2022-02-06 17:08:09 +01:00

225 lines
9.3 KiB
PHP

<?php
/*
* @package AJAX_Chat
* @author Sebastian Tschan
* @copyright (c) Sebastian Tschan
* @license GNU Affero General Public License
* @link https://blueimp.net/ajax/
*/
// Define AJAX Chat user roles:
define('DONATOR', 9);
define('DOKURO', 8);
define('BOTS', 7);
define('CMOD', 6);
define('AJAX_CHAT_CHATBOT', 5);
define('PURPLE', 4);
define('AJAX_CHAT_ADMIN', 3);
define('AJAX_CHAT_MODERATOR', 2);
define('AJAX_CHAT_USER', 1);
define('AJAX_CHAT_GUEST', 0);
// AJAX Chat config parameters:
$config = array();
// Database connection values:
$config['dbConnection'] = array();
// Database hostname:
$config['dbConnection']['host'] = 'localhost';
// Database username:
$config['dbConnection']['user'] = 'ajax-chat';
// Database password:
$config['dbConnection']['pass'] = '';
// Database name:
$config['dbConnection']['name'] = 'ajax-chat';
// Database type:
$config['dbConnection']['type'] = null;
// Database link:
$config['dbConnection']['link'] = null;
// Database table names:
$config['dbTableNames'] = array();
$config['dbTableNames']['online'] = 'ajax_chat_online';
$config['dbTableNames']['messages'] = 'ajax_chat_messages';
$config['dbTableNames']['bans'] = 'ajax_chat_bans';
$config['dbTableNames']['invitations'] = 'ajax_chat_invitations';
// Available languages:
$config['langAvailable'] = array('en');
// Default language:
$config['langDefault'] = 'en';
// Language names:
$config['langNames'] = array('en'=>'English');
// Available styles:
$config['styleAvailable'] = array('Mio', 'Legacy', 'Blue', 'Black', 'Nico', 'Halext', 'White', 'Terminal');
// Default style:
$config['styleDefault'] = 'Black';
// The encoding used for the XHTML content:
$config['contentEncoding'] = 'UTF-8';
// The encoding of the data source, like userNames and channelNames:
$config['sourceEncoding'] = 'UTF-8';
// The content-type of the XHTML page (e.g. "text/html", will be set dependent on browser capabilities if set to null):
$config['contentType'] = null;
// Session name used to identify the session cookie:
$config['sessionName'] = 'fii_chat';
// Prefix added to every session key:
$config['sessionKeyPrefix'] = 'fii_chat';
// The lifetime of the language, style and setting cookies in days:
$config['sessionCookieLifeTime'] = 365;
// The path of the cookies, '/' allows to read the cookies from all directories:
$config['sessionCookiePath'] = '/';
// The domain of the cookies, defaults to the hostname of the server if set to null:
$config['sessionCookieDomain'] = null;
// If enabled, cookies must be sent over secure (SSL/TLS encrypted) connections:
$config['sessionCookieSecure'] = null;
// Default channelName used together with the defaultChannelID if no channel with this ID exists:
$config['defaultChannelName'] = 'Public';
// ChannelID used when no channel is given:
$config['defaultChannelID'] = 0;
// Defines an array of channelIDs (e.g. array(0, 1)) to limit the number of available channels, will be ignored if set to null:
$config['limitChannelList'] = null;
// UserID plus this value are private channels (this is also the max userID and max channelID):
$config['privateChannelDiff'] = 500000000;
// UserID plus this value are used for private messages:
$config['privateMessageDiff'] = 1000000000;
// Enable/Disable private Channels:
$config['allowPrivateChannels'] = true;
// Enable/Disable private Messages:
$config['allowPrivateMessages'] = true;
// Private channels should be distinguished by either a prefix or a suffix or both (no whitespace):
$config['privateChannelPrefix'] = '[';
// Private channels should be distinguished by either a prefix or a suffix or both (no whitespace):
$config['privateChannelSuffix'] = ']';
// If enabled, users will be logged in automatically as guest users (if allowed), if not authenticated:
$config['forceAutoLogin'] = false;
// Defines if login/logout and channel enter/leave are displayed:
$config['showChannelMessages'] = true;
// If enabled, the chat will only be accessible for the admin:
$config['chatClosed'] = false;
// Defines the timezone offset in seconds (-12*60*60 to 12*60*60) - if null, the server timezone is used:
$config['timeZoneOffset'] = null;
// Defines the hour of the day the chat is opened (0 - closingHour):
$config['openingHour'] = 0;
// Defines the hour of the day the chat is closed (openingHour - 24):
$config['closingHour'] = 24;
// Defines the weekdays the chat is opened (0=Sunday to 6=Saturday):
$config['openingWeekDays'] = array(0,1,2,3,4,5,6);
// Enable/Disable guest logins:
$config['allowGuestLogins'] = false;
// Enable/Disable write access for guest users - if disabled, guest users may not write messages:
$config['allowGuestWrite'] = false;
// Allow/Disallow guest users to choose their own userName:
$config['allowGuestUserName'] = false;
// Guest users should be distinguished by either a prefix or a suffix or both (no whitespace):
$config['guestUserPrefix'] = '[';
// Guest users should be distinguished by either a prefix or a suffix or both (no whitespace):
$config['guestUserSuffix'] = ']';
// Guest userIDs may not be lower than this value (and not higher than privateChannelDiff):
$config['minGuestUserID'] = 400000000;
// Allow/Disallow users to change their userName (Nickname):
$config['allowNickChange'] = true;
// Changed userNames should be distinguished by either a prefix or a suffix or both (no whitespace):
$config['changedNickPrefix'] = '~';
// Changed userNames should be distinguished by either a prefix or a suffix or both (no whitespace):
$config['changedNickSuffix'] = '';
// Allow/Disallow registered users to delete their own messages:
$config['allowUserMessageDelete'] = false;
// The userID used for Koishi messages:
$config['chatBotID'] = 2147483647;
// The userName used for Koishi messages
$config['chatBotName'] = 'Hanyuu';
// The userID used for Satori messages:
$config['satoriID'] = 2147483646;
// The userName used for Satori messages
$config['satoriName'] = 'Satori';
// The userID used for Dokuro messages:
$config['dokuroID'] = 2147483647;
// The userName used for Dokuro messages
$config['dokuroName'] = 'Dokuro';
// The userID used for Koishi messages:
$config['koishiID'] = 2147483647;
// The userName used for Koishi messages
$config['koishiName'] = 'Koishi';
// The userID used for Railgun messages:
$config['railgunID'] = 2147483646;
// The userName used for Railgun messages
$config['railgunName'] = 'Railgun';
// The userID used for Snailmush messages:
$config['snailID'] = 2147483646;
// The userName used for Snailmush messages
$config['snailName'] = 'Koishi';
// Minutes until a user is declared inactive (last status update) - the minimum is 2 minutes:
$config['inactiveTimeout'] = 2;
// Interval in minutes to check for inactive users:
$config['inactiveCheckInterval'] = 3;
// Defines if messages are shown which have been sent before the user entered the channel:
$config['requestMessagesPriorChannelEnter'] = true;
// Defines an array of channelIDs (e.g. array(0, 1)) for which the previous setting is always true (will be ignored if set to null):
$config['requestMessagesPriorChannelEnterList'] = null;
// Max time difference in hours for messages to display on each request:
$config['requestMessagesTimeDiff'] = 24;
// Max number of messages to display on each request:
$config['requestMessagesLimit'] = 10;
// Max users in chat (does not affect moderators or admins):
$config['maxUsersLoggedIn'] = 100;
// Max userName length:
$config['userNameMaxLength'] = 30;
// Max messageText length:
$config['messageTextMaxLength'] = 2000;
// Defines the max number of messages a user may send per minute:
$config['maxMessageRate'] = 20;
// Defines the default time in minutes a user gets banned if kicked from a moderator without ban minutes parameter:
$config['defaultBanTime'] = 10;
// Argument that is given to the handleLogout JavaScript method:
$config['logoutData'] = './';
// If true, checks if the user IP is the same when logged in:
$config['ipCheck'] = false;
// Defines the max time difference in hours for logs when no period or search condition is given:
$config['logsRequestMessagesTimeDiff'] = 1;
// Defines how many logs are returned on each logs request:
$config['logsRequestMessagesLimit'] = 10;
// Defines the earliest year used for the logs selection:
$config['logsFirstYear'] = 2013;
// Defines if old messages are purged from the database:
$config['logsPurgeLogs'] = false;
// Max time difference in days for old messages before they are purged from the database:
$config['logsPurgeTimeDiff'] = 1;
// Defines if registered users (including moderators) have access to the logs (admins are always granted access):
$config['logsUserAccess'] = false;
// Defines a list of channels (e.g. array(0, 1)) to limit the logs access for registered users, includes all channels the user has access to if set to null:
$config['logsUserAccessChannelList'] = null;
// Defines if the socket server is enabled:
$config['socketServerEnabled'] = false;
// Defines the hostname of the socket server used to connect from client side (the server hostname is used if set to null):
$config['socketServerHost'] = null;
// Defines the IP of the socket server used to connect from server side to broadcast update messages:
$config['socketServerIP'] = '127.0.0.1';
// Defines the port of the socket server:
$config['socketServerPort'] = 1935;
// This ID can be used to distinguish between different chat installations using the same socket server:
$config['socketServerChatID'] = 69;