Send IM From Website

Thread Started By zion

2555
0
  • 37 Vote(s) - 3.14 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Rate Thread
#1
[Image: sellerb.jpg]

Details
This is a great product for you if you are interested in putting up a new feature on your site. This is some of the newest technology on the market. The Inworld server not only has a great design but virtually no lag! This system is also quite easy to setup, it has only 6 steps.

Features
Includes PHP Script
Includes InWorld Server
Full Perms
Professionally Designed

Server.lsl
PHP Code:
// XML Proceed for IM
//

key gChannel// my llRemoteData channel
key requestid;
string BASE_URL="http://www.renevanasten.net"// fill in the root of your site

default
// initialize XML-RPC
    
state_entry()
    {
        
llOpenRemoteDataChannel(); // create an XML-RPC channel
        // this will raise remote_data event REMOTE_DATA_CHANNEL when created
    
}

    
remote_data(integer typekey channelkey message_idstring senderinteger ivalstring sval)
    {
        if (
type == REMOTE_DATA_CHANNEL) { // channel created
            
gChannel channel;
            
llOwnerSay("Server's Channel: \"" + (string)channel "\"\nCopy/paste >> " + (string)channel " << to the php file (SendIM.php), before uploading it to your webserver. ");
            
state go// start handling requests
        
}
    }
}

state go
// handle requests
    
remote_data(integer typekey channelkey message_idstring senderinteger ivalstring sval)
    {

        if (
type == REMOTE_DATA_REQUEST) { // handle requests sent to us
            
if (ival==1)
            {
                list 
PARS;
                
PARS llParseString2List(sval, ["|"], []);
                
string response_from = (string)llList2String(PARS0);
                
string response_key = (string)llList2Key(PARS1);
                
string response_text llList2String(PARS2);

                
llOwnerSay(sval);
                
llInstantMessage(response_key"Message received from website "BASE_URL +"\nSend by *" response_from "* : " response_text);
                
llRemoteDataReply(channelmessage_id""0);
            }
        }
    }

    
state_exit()
    {
        
llCloseRemoteDataChannel(gChannel); // clean up when you no longer want to handle requests
    
}

    
on_rez(integer start_param)
    {
        
// Restarts the script every time the object is rezzed
        
llResetScript();
    }



sendIM.php
PHP Code:
<?php
                
if ($_GET[aktion]=="send") { 
        
// Fill in channel that server gave after rezzing it inworld. 
        // 
        
$channel "fbb43a21-bd9c-8c68-a9c2-5226bfda73d5"

        
$xmldata "<?xml version=\"1.0\"?>  
                <methodCall> 
                        <methodName>llRemoteData</methodName> 
                        <params> 
                                <param> 
                                        <value> 
                                                <struct> 
                                                        <member> 
                                                                <name>Channel</name> 
                                                                <value><string>"
.$channel."</string></value> 
                                                        </member> 
                                                                <member> 
                                                                <name>IntValue</name> 
                                                                <value><int>1</int></value> 
                                                        </member> 
                                                                <member> 
                                                                <name>StringValue</name> 
                                                                <value><string>
$_POST[FROM]|$_POST[KEY]|$_POST[TEXT]</string></value> 
                                                        </member> 
                                                </struct> 
                                        </value> 
                                </param> 
                        </params> 
                </methodCall> 
        "


        
sendToHost("xmlrpc.secondlife.com""POST""/cgi-bin/xmlrpc.cgi"$xmldata); 


echo 
"<table>"
echo 
"<tr>"
echo 
"<form method='POST' action='$_SERVER[PHP_SELF]?aktion=send'>"
echo 
"<td><b>From Avatar</b></td>"
echo 
"<td><b>Your Friend's Key</b></td>"
echo 
"<td><b>Text</b></td>"
echo 
"</tr>"

echo 
"<tr>"
echo 
"<td><input type='text' name='FROM' value='$_POST[FROM]' size=30></td>"
echo 
"<td><input type='text' name='KEY' value='$_POST[KEY]' size=40></td>"
echo 
"<td><input type='text' name='TEXT' size=79></td>"
echo 
"</tr>"

echo 
"<tr>"
echo 
"<td><input type='submit' value='Send IM'></td>"
echo 
"</tr>"
echo 
"</table>"

function 
sendToHost($host,$method,$path,$data,$useragent=0
        { 
                
$buf=""
                
// Supply a default method of GET if the one passed was empty 
                
if (empty($method)) 
                        
$method 'GET'
                
$method strtoupper($method); 

                
$fp fsockopen($host80$errno$errstr30); 

                if( !
$fp 
                { 
                        
$buf "$errstr ($errno)<br />\n"
                }else 
                { 
                        if (
$method == 'GET'
                        
$path .= '?' $data
                        
fputs($fp"$method $path HTTP/1.1\r\n"); 
                        
fputs($fp"Host: $host\r\n"); 
                        
fputs($fp"Content-type: text/xml\r\n"); 
                        
fputs($fp"Content-length: " strlen($data) . "\r\n"); 
                        if (
$useragent
                                
fputs($fp"User-Agent: MSIE\r\n"); 
                        
fputs($fp"Connection: close\r\n\r\n"); 
                        if (
$method == 'POST'
                                
fputs($fp$data); 
                        while (!
feof($fp)) 
                                
$buf .= fgets($fp,128); 
                        
fclose($fp); 
                } 
                return 
$buf
        } 

?>

Readme.txt
PHP Code:
**********************************************************
Send an Instant message to a friend avatarstraight from your website !
**********************************************************

Within a few steps you are ready to use your new website feature,
your website visitors are able to send Im's straight from your website inworld !
What to do ?

1) Rez the object called: Server.
     The Server will say it'
s channelCopy this channel.
    
2Inside the Server (object), there is a script calledServer.
     
Open the script and change line number 3.
     Example
string BASE_URL="http://www.renevanasten.net"// fill in the root of your site
    
3Open the notecard SendIM.php
     Change line number 5.
     Example
$channel "fbb43a21-bd9c-8c68-a9c2-5226bfda73d5";
    
4Copy the notecard SendIM.php and create a php file of it.
     (
examplecopy/paste in notepad(texteditor), then save as SendIM.php)
    
5Upload the created php file SendIM.php to your website.
     
Now browse to your websites new feature >> http://www.yoursite.com/SendIM.php
    
6You are ready to use your new website feature Remember to leave the server rezzed inworld.
    
     
After rerezzing the serverthe channel changes tooso then you need to re-edit your SendIM.php
Reply




Possibly Related Threads…
Thread Author Replies Views Last Post
  Send a message to anyone in world as any name Skoupa 2 2,587 07-26-2022, 02:12 PM
Last Post: Lagertha

Forum Jump:

1 Guest(s)
Share this:

About Second Life Copybot

Second Life CopyBot Forum is a place where you can get items for Second Life and other vitual worlds for free. With our CopyBot viewers you can export and import any content from these virtual worlds and modify them in 3D software such as Blender, 3D studio Macx etc...