Sha256: 07cdf27e55bf1817b2fb6675984bf409f265223d7740571eb5e196907377e08e

Contents?: true

Size: 1.2 KB

Versions: 6

Compression:

Stored size: 1.2 KB

Contents

#!/usr/bin/env ruby
#Presence Script
#@author Aldo

require 'logger'
require 'rest_client'

path = "/var/log/ejabberd/scripts.log"
file = File.open(path, File::WRONLY | File::APPEND | File::CREAT)
file.sync = true
$logger = Logger.new(file)
$logger.level = Logger::DEBUG

def getOption(option)
  File.open('/etc/ejabberd/ssconfig.cfg', 'r') do |f1|  
    while line = f1.gets  
      line = line.gsub(/\n/,'')
      if line.match(/^#/)
        #Comments
      elsif line.match(/^#{option}/)
        return line.gsub(/#{option}/,'')
      end  
    end  
  end
  return "Undefined"
end

$url = "http://" + getOption("web_domain=") + "/xmpp/synchronizePresence"
$pass = getOption("ejabberd_password=")
$scripts_path = getOption("scripts_path=")


def log(text)
	$logger.info "Synchronize Presence Script: " + text
end

def synchronize()
  log("Start Synchronize")
 
  users = []
  command = $scripts_path + "/emanagement getConnectedUsers"
  output = %x[#{command}]
  sessions = output.split("\n")
  
  sessions.each do |session|
	users << session.split("@")[0]
  end

  RestClient.post($url, :name => users, :password => $pass)
  return true

  rescue RestClient::Exception
    log("RestClient::Exception")
end


synchronize()


Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
social_stream-0.15.4 presence/ejabberd/ejabberd_scripts/synchronize_presence_script
social_stream-0.15.1 presence/ejabberd/ejabberd_scripts/synchronize_presence_script
social_stream-0.15.0 presence/ejabberd/ejabberd_scripts/synchronize_presence_script
social_stream-presence-0.1.4 ejabberd/ejabberd_scripts/synchronize_presence_script
social_stream-0.14.1 presence/ejabberd/ejabberd_scripts/synchronize_presence_script
social_stream-0.14.0 presence/ejabberd/ejabberd_scripts/synchronize_presence_script