## PHP Script Chat

This is a simple script for Chat, made with PHP and Javascript, using OOP and Ajax technology.

#### Requirements

- PHP 5+
- Browser with JavaScript enabled (preferable with support for CSS3).
This Chat script does not require database, it works with text files saved on server, so, it is fast and uses verry few server's resources.
The user can add smiles in chat, and can format the text with Bold, Italic, an Underline., you can test it online to this link: Script Chat Simple
The nickname, chat room, and the On / Off setting for beep sound are saved in cookies (for one day), so, to the next visit they will be read and used from cookie.
The script has been tested successfully on Mozilla Firefox, Internet Explorer, Google Chrome and Opera.
• - This script is free (does not provide support or personal modifications).

#### Installation

- After you have unzipped the archive "script_chat_simple.zip", copy on your server the file "chat.php", and the directories: "chatfiles", "chattxt", and "chatex" (with all their files, in the same directory where you have the file in which you want to include the chat). The "test.php" file is for test.
- Set read-write-execute permissions to the directory "chattxt", CHMOD 0777 (or 0755). In this directory the PHP will save the TXT files with the chat for each chatroom.
- In the PHP file in which you want to include this chat script, add the following code:

<?php include('chat.php'); ?>

- To have a valid HTML page, take this line of code (for CSS properties) from the beginning of the file "chat.php":
<link rel="stylesheet" type="text/css" href="chatfiles/chatstyle.css" />
And move it into the HEAD section of the page where you included the script.
- This script can also be included in ".html" files, using <object>, or <iframe> tag (but the server must run PHP).
So, to add the chat script into a ".html" file (blog, forum), write /copy in that page one of the following codes.
- Object tag:

<object type="text/html" data="dir/chat.php" width="620" height="480"></object>

- Or IFrame:

<iframe src="dir/chat.php" width="100%" height="480" scrolling="auto" frameborder="0" name="frame_chat"> </iframe>

- "dir/chat.php" is the path to the directory and file where you have the script. If it's in the same folder, write only "chat.php"

#### Admin Settings

- In the file "setchat.php" (in "chatfiles/" directory) you can change the default settings.
- By default, the script saves and displays the last 30 rows of chat, you can change this number to the line of code:

define('MAXROWS', 30);

- The script allows users to add links in chat (with attribute rel="nofallow"), but if you want to remove this feature, replace the number 1 with 0, to the line of code:

define('CHATLINK', 1);

- To the following line of code you can set a password used when you want to empty chat rooms (replace "adminpass" with the password you want):

define('CADMPASS', 'adminpass');

- To empty chat rooms, access in your browser the file chatfiles/setchat.php with ?mod=admin in URL. For example:

> http://localhost/chatfiles/setchat.php?mod=admin

Then select the Chat Room you want to empty, and use the password set to CADMPASS.
- If your web site has a register /login script, and you want than only the logged users to can add texts in chat, set the value of CHATADD to 0 . Then set $_SESSION['username'] with the session your script uses to keep logged users; to the following code, in "setchat.php".
In this case, you must add session_start(); to the beginning of your PHP file, as you can see in "test.php" file.

define('CHATADD', 1);
if(CHATADD !== 1) {
if(isset($_SESSION['username'])) define('CHATUSER', $_SESSION['username']);
}

In the directory "chatex/" there are two additional WAV files: "beep2.wav", and "beep3.wav". By default, the script uses "beep1.wav". In case you want to change the audio sound that is played when a new text chat is added in chat room, change in "chatfunctions.js" file (line 14) the value of the variable:

var beepfile = 'beep1.wav';

- The script initially contains two chat rooms: English, and Nature, if you want only one chat room, delete the line of code that contains the variable $chatrooms[] followed by the name of the chatroom. To change the name of the chatroom, modify the value of those variables.
If you want more chat rooms, add $chatrooms[] variables, with this syntax :

$chatrooms[] = 'chatroom_name';

The "chattxt/" is the default directory in which the txt files with chatrooms are stored, but you can also use sub-folders added in "chattxt/" to store and use txt files.
- The sub-folder can be set in the $c_subdir variable (defined in "setchat.php" line 29), default is empty. This is useful if you want to use dinamically directory with chatrooms.
- The script creates automatically the sub-folder in "chattxt/", with the name added in $c_subdir and CHMOD 0755.
The script can create automatically the text files for each chat room, but PHP must have writable permissions (CHMOD 0777, or 0755) in the "chattxt" directory (and sub-folders).
The script can be easily changed to be used in other languages, just translate the text in the file "texts.php" (in "chatfiles/" folder).
If you want to modify the colors and design of the chat, edit CSS properties in "chatstyle.css" (or "chatstyle_mini.css", the mini-version), in "chatfiles/" folder.
The file "chatstyle_mini.css" can be used for a smaller graphics version of this chat script (width 245 px). In this version, to save space, the area with online users is not displayed.
With respect,
Marius
coursesweb.net