// 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 . // // 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 , // 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.Namespaces); importPackage(Packages.com.silverwrist.dynamo.except); importPackage(Packages.com.silverwrist.dynamo.iface); importPackage(Packages.com.silverwrist.dynamo.module); importPackage(Packages.com.silverwrist.dynamo.security); importPackage(Packages.com.silverwrist.dynamo.util); importClass(Packages.com.silverwrist.venice.VeniceNamespaces); importPackage(Packages.com.silverwrist.venice.content); importPackage(Packages.com.silverwrist.venice.iface); req = bsf.lookupBean("request"); req_help = bsf.lookupBean("request_help"); user = vlib.getUser(req); // Make sure we are permitted to be here. srm = cast.querySecurityReferenceMonitor(req_help.getRequestObject(Namespaces.DYNAMO_OBJECT_NAMESPACE,"srm")); acl = srm.getGlobalAcl(); if (!(acl.testPermission(user,VeniceNamespaces.SYSTEM_PERMS_NAMESPACE,"install.modules"))) dynamo.scriptReturn(vlib.stdErrorBox(req,"Security Error","You are not permitted to install modules.")); modops = cast.queryModuleOperations(req); the_module = req_help.getParameterString("mod"); if (the_module!=null) { // want to install this module except = null; log = new SimpleMemoryLog(); try { // load and install the module mod = modops.loadModule(the_module,false); mod.install(user,log); } // end try catch (e) { // save the exception except = e; } // end catch // Return the results. rc = new VelocityView("Module Installation","sysadmin/module_install_result.vm"); rc.setParameter("module",the_module); rc.setParameter("log",log.getLog()); if (except!=null) rc.setParameter("except",except); dynamo.scriptReturn(rc); } // end if // Get the list of all module files, and the set of installed module files. all_mods = modops.listAllModuleNames(); install_mods = modops.listInstalledModuleNames(); // Create a list of all modules which *aren't* installed. modlist = new ArrayList(); it = all_mods.iterator(); while (it.hasNext()) { // check installed set, if not there, add to uninstalled list n = it.next() + ""; if (!(install_mods.contains(n))) modlist.add(n); } // end while // Return the module list. rc = new VelocityView("Install New Modules","sysadmin/module_install.vm"); rc.setParameter("modlist",modlist); dynamo.scriptOutput(rc);