ChatX is a highly customized and refined version of the first iteration of ShoutBox script originally introduced on Tutorialzine in 2015.
The script uses flat file database, built with Flywheel, RelativeTime PHP libraries & jQuery. It's easy to install and modify, works great with PHP 5.6 or higher hosting services.
The idea behind the development of ChatX was to create an easy-to-use compact chat widget with fully-customizable color schemes, capable of working on any web-site with the code installed.
Preview image
Why ChatX?
There are plenty chatroom implementations on the web, still ChatX may be different from its many alternatives.
But what is it about ChatX that makes it a bit special?
To begin with, we believe that a chat is more convenient when it remains on screen: whatever you do or wherever you navigate on the website ChatX is always within reach but never obstructing the view. You can drag and resize it, expand or minimize within your browser viewport making it the most suitable for you. And the chat will remember every state.
Then, ChatX is very easy to install. Just unzip the archive on your hosting and the script is ready to go! No MySQL databases, complex dependencies or additional setups. PHP 5.3-5.6 or higher is enough. It must work nicely even on a free web-hosting.
The simplicity is stupidly impressive. Yet ChatX has all the main settings a regular chat should have. And more, you can easily manage the chat global functions without the necessity to have knowledge in coding. Just a perfect solution if you are a beginner not willing to spend hours understanding things in Javascript or PHP.
We love ChatX wholeheartedly. And we do our best to make it user-friendly. It's free, without ads or distracting copyrights.
Main features:
Flat file database
Easy installation
Modest. No need for a bunch of dependencies, does not load your hosting resources too much
Asynchronous loading
Works well with many websites
Compact and modern look
Draggable, resizable widget. Remembers position on page
Modern-looking widget
Supports Emoji (EmojiOne, updated ver. 3.1.2)
Autoloads new shouts through JSON every 30 secs on slow track and every 5 secs on fast track (customizable via settings)
240 char per message. Limit also specified on backend server side (customizable through settings)
Languages: Eng / Rus (more to come)
BB-tags: bold; italic; underlined; text color; images; links;
Media uploader (via imgur.com)
Easy settings and stylesheet customization
Changelog:
ver 1.4.0
Close button that minifies chat
Stop Get query when minimized and restore on expand
New universal scrollbar
Pulsating indicator when in fast track mode
Open links in new window
Simpler code (in process of developing universal widget)
Updated Draggable.js library, now ChatX works with great variety of jQuery libraries
ver 1.5.0
a better way of loading CSS
Interface translation simplified
UI improvements
Moderation page
Updated icon while uploading image
Fixed when image was uploaded but not sent due to the empty name field
script.js --> core.js
Updated widget (simpler installation)
Beta Authentication (login & sign up)
Public & Private mode
New Settings.php file with easily customizable ChatX settings
Logged In users have a verification icon
Usergroups: users and moderators.
Updated Flywheel library (more developed database in perspective)
ver 1.6.0
Private mode no longer in beta
Passwords are hashed with PASSWORD_BCRYPT
Cookies secured
Json files no longer accessible directly
General security improvements
Complete userlist page
New page - Setups.php. Easy way to edit settings
ChatX now checks when it is outside viewpoint and restores its position
ver 1.7.0
Featherlight library allows viewing uploaded images in modal window
New prompt menu for bb-tags
Resize widget horizontally
Updates for moderator's panel with new options and settings
Changeable widget language (Rus/Eng)
Widget works better with various websites
General improvements and updates
ver 1.8.0
MyBB integration
Chat history
New settings options
Stability & performance improvements
ver 1.9.0
Shout management: multiple message selection
New settings in moderator's panel
ver 2.0.0
New messages at the bottom
Thumbnails for jpg and jpeg images
Updated UI when uploading images from external URLs
All images are hosted on Imgur.com
ver 2.1.0
Username styling
ver 2.2.0
Notification for the new messages when widget is minimized
Audio notifications for the new messages when user is logged in
Highlighted messages of its owner
Easier style customization with CSS vars
ver 2.3.0
Autorecognizing URLs (for users only)
New menu for link insertion
Ajax load paused whenever text selected in chat
Ajax load paused when multiple tabs with widget are active, staying alive in current tab
New widget styling page with Ace editor in moderator's panel
Refined styling tuning
Minimal mobile optimization
Hotkeys (Ctrl+B) for bold, (Ctrl+I) for italic, (Ctrl+U) for underlined formatting tags
Prompts on widget demo page
Option in settings to switch off demo page
Simple (dumb) push notifications for new messages in chat (for users only)
New sound notification variant for new messages in chat. New sound effect when message is sent
Switchable EmojiOne library option for Emoji in chat settings
Precise timestamp on hovering on relative time mark
Dynamic loading of chat history in widget itself
Optimization and improvements for Nginx
Redesign of minified chat tray
General improvements
ToDo list:
ChatX is still under development. We are expecting more improvements and features in the future. However, we'd be glad if you helped us with the development. Below we enlisted main ToDo changes. Feel free to commit new ideas or working solutions :)
Short-term perspective:
Mobile optimization
Long-term perspective:
Template generator
Acknowledgements
Thanks Tutorialzine for the initial shoutbox script release.
Thanks Alex_63 for the implementation of the fast & slow track system
Thanks me for all the patience during the development :)
More to come, help us and you'll be in the list too.
Installation
ChatX works out-of-the-box on demo page (INDEX.HTML). However, if you are considering using it on other web-sites or directories you are to complete a simple installation procedure:
a) Login as Admin and navigate to /client/index.php. In the left sidebar you will find ChatX widget. Copy it to your website.
b) open /setups.php and define your external domain. For example, "https://your-domain.com" (without final "/")
If done ChatX must work correctly.