// The contents of this file are subject to the Mozilla Public License Version 1.1
// (the "License"); you may not use this file except in compliance with the License.
// You may obtain a copy of the License at <http://www.mozilla.org/MPL/>.
// 
// Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
// WARRANTY OF ANY KIND, either express or implied. See the License for the specific
// language governing rights and limitations under the License.
// 
// The Original Code is the Venice Web Communities System.
// 
// The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
// for Silverwrist Design Studios.  Portions created by Eric J. Bowersox are
// Copyright (C) 2003 Eric J. Bowersox/Silverwrist Design Studios.  All Rights Reserved.
// 
// Contributor(s): 

importPackage(java.util);
importClass(Packages.com.silverwrist.dynamo.DynamoVersion);
importClass(Packages.com.silverwrist.dynamo.Namespaces);
importPackage(Packages.com.silverwrist.dynamo.iface);
importPackage(Packages.com.silverwrist.dynamo.security);
importPackage(Packages.com.silverwrist.dynamo.util);
importPackage(Packages.com.silverwrist.dynamo.xmlrpc);
importClass(Packages.com.silverwrist.venice.VeniceNamespaces);
importClass(Packages.com.silverwrist.venice.VeniceVersion);

req = bsf.lookupBean("request");           // get request
req_help = bsf.lookupBean("request_help"); // get request helper
method = req.queryString + "";             // get method name

if (method=="venice:siteinfo")
{ // return a structure with site information
  rc = new Hashtable();
  rc.put("dynamoVersion",DynamoVersion.VERSION);
  rc.put("veniceVersion",VeniceVersion.VERSION);

  // get globals to stuff into return structure
  globals = vcast.getGlobalPropertiesStore(req);
  rc.put("siteName",globals.getObject(VeniceNamespaces.FRAME_LAF_NAMESPACE,"site.title"));
  rc.put("siteURL",globals.getObject(VeniceNamespaces.FRAME_LAF_NAMESPACE,"site.url"));

  // get contact info for this server - the Administrator's E-mail address
  srm = cast.querySecurityReferenceMonitor(req_help.getRequestObject(Namespaces.DYNAMO_OBJECT_NAMESPACE,
                                                                     "srm"));
  rc.put("siteContact",srm.getAdminUser().getEMailAddress());  

  // all done!
  dynamo.scriptReturn(rc);

} // end if

// if get here, we don't grok the method name - return failure
dynamo.scriptOutput(new XmlRpcMethodNotFound(method));
