UserService Plugin extension

Version 2

    I want to be able to send messages from external application via http request to users, so I 'merged' UserService and Subscription plugins. With this modification userService can send messages to users. All you need to do is to build correct http request in your application.

    • Note that I'm NOT a Java programmer at all!

    • In order to use this modification You need to reinstall userService Plugin.

    • No error handling at all.

     

    New parameters were added:

    sender

    sender of message

    OF version

    recipient

    recipient of message

    3.6+

    subject

    subject of message

    3.6+

    msg

    body (text) of message

    3.6+

    username

    some valid username

    3.7+

     

    Example query 3.6+ :

    http://example.com:9090/plugins/userService/userservice?secret=bigsecret&type=se ndmsg&sender=admin1&recipient=user1&subject=test_msg&msg=my_important_message

    Example query 3.7+ :

    http://example.com:9090/plugins/userService/userservice?secret=bigsecret&type=se ndmsg&sender=admin1&recipient=user1&subject=test_msg&msg=my_important_message&us ername=sysuser1

     

    All parameters can be sent via HTTP POST or GET methods in single query. As example sender,recipient and subject via http GET, msg via POST method.

    Note: In order to send big (more than ~2k) messages you need to use POST method for msg parameter.  You need to urlencode() some or all of values!

     

    An example usage is intranet web application that sends message to user  when someone open a link. Simple PHP example:

    // OF server address
    $jserver='http://example.com:9090/plugins/userService/userservice';
    //1
    $postdata = http_build_query(
                array(
                 'type'        => 'sendmsg',
                 'secret'        => 'bigsecret',
                 'username'     => 'sysuser1',    
                 'msg'         => 'Call me ASAP',
                 'sender'        => 'admin1',
                 'recipient'    => 'user1',
                 'subject'        => 'URGENT'
                  )
    );
    //2
    $opts = array('http' =>
                array(
                'method'  => 'POST',
                'header'  => 'Content-type: application/x-www-form-urlencoded',
                'content' => $postdata
                )
    );
    //3
    $context  = stream_context_create($opts);
    //Send message & Get result
    $line = file_get_contents($jserver, false, $context);
    //Check result
    if (!(stripos($line, "<result>ok</result>") === false)){Do something - message sent}