We are a social network website and we want to give an Ajax IM to give the opportunity to our users to chat. Our website runs with PHP with a MySql data-base.
The solution we want to implement:
Client: Claro Chat 1.0 or other similar open-source solution.
We are looking for someone who can install (server+client) and make the following customization to integrate the solution with our social-network script:
1) Translate: we will send the list of the words (very few) to be translated in Claro and you implement the translation.
2) Claro should open in a pop-up window. We need our logo somewhere.
3) When opening the pop-up we automatically create a short-cut to this pop-up in the desktop of the user
4) When a user is logged-in in our social network, then they can open the IM with no need to log-in again.
5) If a user is not already loggin-in in the social network, then the IM should ask the user-ID and password
6) Synchronize the “buddies” in the IM with the “Friends” of each user in the main social-network website. Friends can be made only in the social network website. Our users have a main user ID-Number but in the IM it is the User-Names (link to the ID number) that should appear.
We are using a simple layout for users.
userid : each user's unique integer ID (int)
name : nick-name or user-name of the user (string)
passwd : md5 hash of the password given
We use the userid in all other places to refer to the user.
In friends (or buddy list) we use a list of two userid and a flag to determine if a user is a friend of another. Like this:
userid : user's unique integer ID (int)
friend : friend's unique integer ID (int)
flag : this is 1 if friend is accepted. so flag 1 is the needed valid status.
User's online status is kept in cache and not MySQL. Here too the userid is used. There is a simple function which can be called with the userid and it will return true (on-line) or false (off-line).