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