added initial sysadmin menu items and dialogs, fixed a few things about dialog
operation here and there
This commit is contained in:
parent
0c7f518f3e
commit
cbae9cdd8e
|
@ -569,18 +569,28 @@ INSERT INTO imagetype (typecode, nsid, name) VALUES
|
||||||
|
|
||||||
#### following this line is initialization of Venice-specific tables ####
|
#### following this line is initialization of Venice-specific tables ####
|
||||||
|
|
||||||
# Create the "global" menu.
|
# Create the "global" menu. (ID #1)
|
||||||
INSERT INTO menus (menuid, menu_nsid, menu_name, title, subtitle)
|
INSERT INTO menus (menuid, menu_nsid, menu_name, title, subtitle)
|
||||||
VALUES (1, 1, 'fixed.menu', 'About This Site', NULL);
|
VALUES (1, 1, 'fixed.menu', 'About This Site', NULL);
|
||||||
INSERT INTO menuitems (menuid, sequence, itemtype, text, linktype, link) VALUES
|
INSERT INTO menuitems (menuid, sequence, itemtype, text, linktype, link) VALUES
|
||||||
(1, 0, 'TEXT', 'Documentation', 'ABSOLUTE', 'TODO' ),
|
(1, 0, 'TEXT', 'Documentation', 'ABSOLUTE', 'TODO' ),
|
||||||
(1, 1, 'TEXT', 'About Venice', 'FRAME', 'about-venice.html'),
|
(1, 1, 'TEXT', 'About Venice', 'FRAME', 'about-venice.html' ),
|
||||||
(1, 2, 'TEXT', 'System Administration', 'ABSOLUTE', 'TODO' );
|
(1, 2, 'TEXT', 'System Administration', 'SERVLET', 'sysadmin/main.js.vs');
|
||||||
UPDATE menuitems SET enable = 0 WHERE menuid = 1 AND sequence = 0;
|
UPDATE menuitems SET enable = 0 WHERE menuid = 1 AND sequence = 0;
|
||||||
UPDATE menuitems SET perm_nsid = 13, perm_name = 'show.admin.menu' WHERE menuid = 1 AND sequence = 2;
|
UPDATE menuitems SET perm_nsid = 13, perm_name = 'show.admin.menu' WHERE menuid = 1 AND sequence = 2;
|
||||||
|
|
||||||
# Create the user profile menu.
|
# Create the user profile menu. (ID #2)
|
||||||
INSERT INTO menus (menuid, menu_nsid, menu_name, title, subtitle)
|
INSERT INTO menus (menuid, menu_nsid, menu_name, title, subtitle)
|
||||||
VALUES (2, 11, 'user.profile.menu', '', NULL);
|
VALUES (2, 11, 'user.profile.menu', '', NULL);
|
||||||
|
INSERT INTO menuvars (menuid, var_name, default_val)
|
||||||
|
VALUES (2, 'target', 'top.js.vs');
|
||||||
INSERT INTO menuitems (menuid, sequence, itemtype, text, linktype, link) VALUES
|
INSERT INTO menuitems (menuid, sequence, itemtype, text, linktype, link) VALUES
|
||||||
(2, 0, 'TEXT', 'Profile', 'SERVLET', 'profile.js.vs?tgt=${target}');
|
(2, 0, 'TEXT', 'Profile', 'SERVLET', 'profile.js.vs?tgt=${target}');
|
||||||
|
|
||||||
|
# Create the main system administration menu. (ID #3)
|
||||||
|
INSERT INTO menus (menuid, menu_nsid, menu_name, title, subtitle)
|
||||||
|
VALUES (3, 13, 'system.admin', 'System Administration', NULL);
|
||||||
|
INSERT INTO menuitems (menuid, sequence, itemtype, text, linktype, link, perm_nsid, perm_name) VALUES
|
||||||
|
(3, 0, 'TEXT', 'Set Frame Look-And-Feel Parameters', 'SERVLET', 'sysadmin/frame_laf.js.vs', 1, 'set.property'),
|
||||||
|
(3, 1, 'TEXT', 'Set E-Mail Parameters', 'SERVLET', 'sysadmin/email.js.vs', 5, 'set.property'),
|
||||||
|
(3, 2, 'TEXT', 'Set Session Parameters', 'SERVLET', 'sysadmin/session.js.vs', 7, 'set.property');
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
*
|
*
|
||||||
* The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
|
* 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
|
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
|
||||||
* Copyright (C) 2002 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
|
* Copyright (C) 2002-03 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* Contributor(s):
|
* Contributor(s):
|
||||||
*/
|
*/
|
||||||
|
@ -109,7 +109,7 @@ abstract class CommonTextField extends BaseDialogField
|
||||||
|
|
||||||
protected boolean isNull(Object value)
|
protected boolean isNull(Object value)
|
||||||
{
|
{
|
||||||
return StringUtils.isEmpty((String)value);
|
return ((value==null) || StringUtils.isEmpty(value.toString()));
|
||||||
|
|
||||||
} // end isNull
|
} // end isNull
|
||||||
|
|
||||||
|
|
|
@ -580,7 +580,19 @@ class DialogImpl implements Dialog
|
||||||
while (it.hasNext())
|
while (it.hasNext())
|
||||||
{ // call reset on each field
|
{ // call reset on each field
|
||||||
DialogField fld = (DialogField)(it.next());
|
DialogField fld = (DialogField)(it.next());
|
||||||
fld.validate(r);
|
try
|
||||||
|
{ // perform validation
|
||||||
|
fld.validate(r);
|
||||||
|
|
||||||
|
} // end try
|
||||||
|
catch (RuntimeException e)
|
||||||
|
{ // safety in case RuntimeException is thrown
|
||||||
|
ValidationException ve = new ValidationException(DialogImpl.class,"DialogMessages","valid.except",e);
|
||||||
|
ve.setParameter(0,fld.getName());
|
||||||
|
ve.setParameter(1,e.getMessage());
|
||||||
|
throw ve;
|
||||||
|
|
||||||
|
} // end catch
|
||||||
|
|
||||||
} // end while
|
} // end while
|
||||||
|
|
||||||
|
|
|
@ -174,9 +174,11 @@ public class DialogManager
|
||||||
m_factory_data.put("header",fact);
|
m_factory_data.put("header",fact);
|
||||||
m_factory_data.put("hidden",fact);
|
m_factory_data.put("hidden",fact);
|
||||||
m_factory_data.put("int",fact);
|
m_factory_data.put("int",fact);
|
||||||
|
m_factory_data.put("linktypelist",fact);
|
||||||
m_factory_data.put("localelist",fact);
|
m_factory_data.put("localelist",fact);
|
||||||
m_factory_data.put("password",fact);
|
m_factory_data.put("password",fact);
|
||||||
m_factory_data.put("text",fact);
|
m_factory_data.put("text",fact);
|
||||||
|
m_factory_data.put("textbox",fact);
|
||||||
m_factory_data.put("tzlist",fact);
|
m_factory_data.put("tzlist",fact);
|
||||||
|
|
||||||
// Get the service provider hooks interface.
|
// Get the service provider hooks interface.
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
#
|
#
|
||||||
# The Initial Developer of the Original Code is Eric J. Bowersox <erbo@silcom.com>,
|
# 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
|
# for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
|
||||||
# Copyright (C) 2002 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
|
# Copyright (C) 2002-03 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
|
||||||
#
|
#
|
||||||
# Contributor(s):
|
# Contributor(s):
|
||||||
# ---------------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------------
|
||||||
|
@ -29,3 +29,4 @@ bad.email=The value in the "{0}" field is not a valid E-mail address.
|
||||||
text.notInteger=Invalid non-numeric character in the "{0}" field.
|
text.notInteger=Invalid non-numeric character in the "{0}" field.
|
||||||
int.tooSmall=The value of the "{0}" field must be greater than or equal to {1}.
|
int.tooSmall=The value of the "{0}" field must be greater than or equal to {1}.
|
||||||
int.tooLarge=The value of the "{0}" field must be less than or equal to {1}.
|
int.tooLarge=The value of the "{0}" field must be less than or equal to {1}.
|
||||||
|
valid.except=Exception generated while validating "{0}": {1}
|
||||||
|
|
|
@ -0,0 +1,175 @@
|
||||||
|
/*
|
||||||
|
* 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):
|
||||||
|
*/
|
||||||
|
package com.silverwrist.dynamo.dialog;
|
||||||
|
|
||||||
|
import java.io.*;
|
||||||
|
import java.util.*;
|
||||||
|
import org.w3c.dom.*;
|
||||||
|
import com.silverwrist.util.*;
|
||||||
|
import com.silverwrist.util.xml.*;
|
||||||
|
import com.silverwrist.dynamo.except.*;
|
||||||
|
import com.silverwrist.dynamo.iface.*;
|
||||||
|
import com.silverwrist.dynamo.util.*;
|
||||||
|
|
||||||
|
public class MultiLineTextField extends BaseDialogField
|
||||||
|
{
|
||||||
|
/*--------------------------------------------------------------------------------
|
||||||
|
* Static data members
|
||||||
|
*--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
public static final int DEFAULT_ROWS = 4;
|
||||||
|
public static final int DEFAULT_COLS = 40;
|
||||||
|
public static final int DEFAULT_MAXLENGTH = -1;
|
||||||
|
public static final String DEFAULT_WRAP = "soft";
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------------
|
||||||
|
* Attributes
|
||||||
|
*--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
private String m_value = null;
|
||||||
|
private int m_rows;
|
||||||
|
private int m_cols;
|
||||||
|
private int m_maxlength;
|
||||||
|
private String m_wraptype;
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------------
|
||||||
|
* Constructors
|
||||||
|
*--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
public MultiLineTextField(Element elt) throws DialogException
|
||||||
|
{
|
||||||
|
super(false,elt);
|
||||||
|
XMLLoader loader = XMLLoader.get();
|
||||||
|
try
|
||||||
|
{ // load the attributes specific to a multiline field
|
||||||
|
m_rows = loader.getAttributeInt(elt,"rows",DEFAULT_ROWS);
|
||||||
|
m_cols = loader.getAttributeInt(elt,"cols",DEFAULT_COLS);
|
||||||
|
m_maxlength = loader.getAttributeInt(elt,"maxlength",DEFAULT_MAXLENGTH);
|
||||||
|
m_wraptype = loader.getAttribute(elt,"wrap",DEFAULT_WRAP);
|
||||||
|
|
||||||
|
} // end try
|
||||||
|
catch (XMLLoadException e)
|
||||||
|
{ // translate exception before returning
|
||||||
|
throw new DialogException(e);
|
||||||
|
|
||||||
|
} // end catch
|
||||||
|
|
||||||
|
} // end constructor
|
||||||
|
|
||||||
|
protected MultiLineTextField(MultiLineTextField other)
|
||||||
|
{
|
||||||
|
super(other);
|
||||||
|
m_rows = other.m_rows;
|
||||||
|
m_cols = other.m_cols;
|
||||||
|
m_maxlength = other.m_maxlength;
|
||||||
|
m_wraptype = other.m_wraptype;
|
||||||
|
|
||||||
|
} // end constructor
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------------
|
||||||
|
* Overrides from class BaseDialogField
|
||||||
|
*--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
protected boolean isNull(Object value)
|
||||||
|
{
|
||||||
|
return StringUtils.isEmpty((String)value);
|
||||||
|
|
||||||
|
} // end isNull
|
||||||
|
|
||||||
|
/*--------------------------------------------------------------------------------
|
||||||
|
* Abstract implementations from class BaseDialogField
|
||||||
|
*--------------------------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
protected void renderField(TextRenderControl control, Map render_params)
|
||||||
|
throws IOException, RenderingException
|
||||||
|
{
|
||||||
|
PrintWriter wr = control.getWriter();
|
||||||
|
wr.write("<textarea class=\"content\" name=\"" + getName() + "\" rows=\"" + m_rows + "\" cols=\"" + m_cols
|
||||||
|
+ "\" wrap = \"" + m_wraptype + "\"");
|
||||||
|
if (!isEnabled())
|
||||||
|
wr.write(" disabled=\"disabled\"");
|
||||||
|
wr.write(">");
|
||||||
|
if (m_value!=null)
|
||||||
|
wr.write(StringUtils.encodeHTML(m_value));
|
||||||
|
wr.write("</textarea>");
|
||||||
|
|
||||||
|
} // end renderField
|
||||||
|
|
||||||
|
protected void validateContents(Request r, Object data) throws ValidationException
|
||||||
|
{
|
||||||
|
if ((data!=null) && (m_maxlength>0) && (data.toString().length()>m_maxlength))
|
||||||
|
{ // this value is too long
|
||||||
|
ValidationException ve = new ValidationException(CommonTextField.class,"DialogMessages","text.tooLong");
|
||||||
|
ve.setParameter(0,getCaption());
|
||||||
|
ve.setParameter(1,String.valueOf(m_maxlength));
|
||||||
|
throw ve;
|
||||||
|
|
||||||
|
} // end if
|
||||||
|
|
||||||
|
} // end validateContents
|
||||||
|
|
||||||
|
public Object getValue()
|
||||||
|
{
|
||||||
|
return m_value;
|
||||||
|
|
||||||
|
} // end getValue
|
||||||
|
|
||||||
|
public boolean containsValue()
|
||||||
|
{
|
||||||
|
return StringUtils.isNotEmpty(m_value);
|
||||||
|
|
||||||
|
} // end containsValue
|
||||||
|
|
||||||
|
public void setValue(Object obj)
|
||||||
|
{
|
||||||
|
if (obj==null)
|
||||||
|
m_value = null;
|
||||||
|
else
|
||||||
|
m_value = obj.toString();
|
||||||
|
if ((m_value!=null) && StringUtils.isEmpty(m_value))
|
||||||
|
m_value = null;
|
||||||
|
|
||||||
|
} // end setValue
|
||||||
|
|
||||||
|
public void setValueFrom(Request r)
|
||||||
|
{
|
||||||
|
RequestHelper rh = new RequestHelper(r);
|
||||||
|
m_value = rh.getParameterString(getName());
|
||||||
|
if ((m_value!=null) && StringUtils.isEmpty(m_value))
|
||||||
|
m_value = null;
|
||||||
|
|
||||||
|
} // end setValueFrom
|
||||||
|
|
||||||
|
public void reset()
|
||||||
|
{
|
||||||
|
m_value = null;
|
||||||
|
|
||||||
|
} // end reset
|
||||||
|
|
||||||
|
public Object clone()
|
||||||
|
{
|
||||||
|
return new MultiLineTextField(this);
|
||||||
|
|
||||||
|
} // end clone
|
||||||
|
|
||||||
|
} // end class MultiLineTextField
|
|
@ -72,6 +72,8 @@ class StdItemFactory implements DialogItemFactory
|
||||||
return new PasswordField(elt);
|
return new PasswordField(elt);
|
||||||
if (tagname.equals("text"))
|
if (tagname.equals("text"))
|
||||||
return new TextField(elt);
|
return new TextField(elt);
|
||||||
|
if (tagname.equals("textbox"))
|
||||||
|
return new MultiLineTextField(elt);
|
||||||
if (tagname.equals("tzlist"))
|
if (tagname.equals("tzlist"))
|
||||||
return new TimeZoneListField(elt);
|
return new TimeZoneListField(elt);
|
||||||
|
|
||||||
|
|
|
@ -313,8 +313,6 @@ public class BufferTextRenderControl extends BaseDelegatingServiceProvider imple
|
||||||
{
|
{
|
||||||
if (m_type==null)
|
if (m_type==null)
|
||||||
m_type = type;
|
m_type = type;
|
||||||
else
|
|
||||||
throw new RenderingException(BufferTextRenderControl.class,"UtilityMessages","buffer.setMime2X");
|
|
||||||
|
|
||||||
} // end setContentType
|
} // end setContentType
|
||||||
|
|
||||||
|
@ -322,8 +320,6 @@ public class BufferTextRenderControl extends BaseDelegatingServiceProvider imple
|
||||||
{
|
{
|
||||||
if (m_length<0)
|
if (m_length<0)
|
||||||
m_length = length;
|
m_length = length;
|
||||||
else
|
|
||||||
throw new RenderingException(BufferTextRenderControl.class,"UtilityMessages","buffer.setLength2X");
|
|
||||||
|
|
||||||
} // end setContentLength
|
} // end setContentLength
|
||||||
|
|
||||||
|
|
35
venice-data/dialogs/sysadmin/email.dlg.xml
Normal file
35
venice-data/dialogs/sysadmin/email.dlg.xml
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
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):
|
||||||
|
-->
|
||||||
|
<dialog name="email_props" defaultbutton="update">
|
||||||
|
<title>E-Mail Parameters</title>
|
||||||
|
<action>sysadmin/email.js.vs</action>
|
||||||
|
|
||||||
|
<text name="host" caption="SMTP host" required="true" size="32" maxlength="254"/>
|
||||||
|
<text name="fromaddr" caption="Mail sender address" required="true" size="32" maxlength="254"/>
|
||||||
|
<text name="fromname" caption="Mail sender name" required="true" size="32" maxlength="254"/>
|
||||||
|
<text name="mailer" caption="X-Mailer name" required="true" size="32" maxlength="254"/>
|
||||||
|
<text name="uinfo" caption="Header name for user info" required="true" size="32" maxlength="254"/>
|
||||||
|
<textbox name="disclaimer" caption="User disclaimer header lines" required="true" rows="4" cols="60"
|
||||||
|
maxlength="65535" wrap="soft"/>
|
||||||
|
<textbox name="sig" caption="Automatic E-mail signature" required="true" rows="4" cols="60" maxlength="65535"
|
||||||
|
wrap="soft"/>
|
||||||
|
|
||||||
|
<button name="update"/>
|
||||||
|
<button name="cancel"/>
|
||||||
|
</dialog>
|
|
@ -18,35 +18,46 @@
|
||||||
-->
|
-->
|
||||||
<dialog name="frame_laf" defaultbutton="update">
|
<dialog name="frame_laf" defaultbutton="update">
|
||||||
<title>Frame Look-And-Feel Parameters</title>
|
<title>Frame Look-And-Feel Parameters</title>
|
||||||
<action>TODO</action>
|
<action>sysadmin/frame_laf.js.vs</action>
|
||||||
|
|
||||||
<header name="bas_hdr" caption="Basic Information"/>
|
<header name="bas_hdr" caption="Basic Information"/>
|
||||||
<text name="sitetitle" caption="Site Title" required="true" size="32" maxlength="254"/>
|
<text name="sitetitle" caption="Site title" required="true" size="32" maxlength="254"/>
|
||||||
<text name="siteurl" caption="Site Base URL" required="true" size="32" maxlength="254"/>
|
<text name="siteurl" caption="Site base URL" required="true" size="32" maxlength="254"/>
|
||||||
<text name="template" caption="Frame Template Resource" required="true" size="32" maxlength="254"
|
<text name="template" caption="Frame template resource" required="true" size="32" maxlength="254"
|
||||||
caption2="(Do NOT change this unless you know what you are doing!)"/>
|
caption2="(Do NOT change this unless you know what you're doing!)"/>
|
||||||
<text name="fptitle" caption="Front Page Title" required="true" size="32" maxlength="254"/>
|
<text name="fptitle" caption="Front page title" required="true" size="32" maxlength="254"/>
|
||||||
|
|
||||||
<header name="lay_hdr" caption="Layout Information"/>
|
<header name="lay_hdr" caption="Layout Information"/>
|
||||||
<int name="lbarwidth" caption="Left Frame Bar Width" caption2="(in pixels)" required="true" min="1" max="512"/>
|
<int name="lbarwidth" caption="Left frame bar width" caption2="(in pixels)" required="true" min="1" max="512"/>
|
||||||
<checkbox name="comments" caption="Display optional HTML comments"/>
|
<checkbox name="comments" caption="Display optional HTML comments"/>
|
||||||
<checkbox name="smarttags" caption="Allow Microsoft Smart Tags to display on pages" caption2="(not recommended)"/>
|
<checkbox name="smarttags" caption="Allow Microsoft Smart Tags to display on pages" caption2="(not recommended)"/>
|
||||||
|
|
||||||
<header name="logo_hdr" caption="Site Logo">
|
<header name="logo_hdr" caption="Site Logo">
|
||||||
This image is displayed in the upper-left portion of the frame.
|
This image is displayed in the upper-left portion of the frame.
|
||||||
</header>
|
</header>
|
||||||
<text name="logourl" caption="Site Logo URL" required="true" size="32" maxlength="254"/>
|
<text name="logourl" caption="Site logo URL" required="true" size="32" maxlength="254"/>
|
||||||
<linktypelist name="logourltype" caption="Site Logo URL Type" required="true"/>
|
<linktypelist name="logourltype" caption="Site logo URL type" required="true"/>
|
||||||
<int name="logowidth" caption="Site Logo Width" caption2="(in pixels)" required="true" min="1" max="1024"/>
|
<int name="logowidth" caption="Site logo width" caption2="(in pixels)" required="true" min="1" max="1024"/>
|
||||||
<int name="logoheight" caption="Site Logo Height" caption2="(in pixels)" required="true" min="1" max="1024"/>
|
<int name="logoheight" caption="Site logo height" caption2="(in pixels)" required="true" min="1" max="1024"/>
|
||||||
|
|
||||||
|
<header name="foot_hdr" caption="Page Footer"/>
|
||||||
|
<textbox name="footer" caption="Page footer text" required="true" rows="4" cols="60" maxlength="65535" wrap="soft"/>
|
||||||
|
<int name="fscale" caption="Footer image scaling" caption2="(in percent)" required="true" min="1" max="100"/>
|
||||||
|
<checkbox name="fbreak" caption="Add linebreaks to footer text"/>
|
||||||
|
|
||||||
<header name="icon_hdr" caption="Page Icon">
|
<header name="icon_hdr" caption="Page Icon">
|
||||||
This is a small image file of any format used as a page icon by Mozilla and other browsers.
|
This is a small image file of any format used as a page icon by Mozilla and other browsers.
|
||||||
</header>
|
</header>
|
||||||
<text name="pgi_url" caption="Page Icon URL" size="32" maxlength="254"/>
|
<text name="pgi_url" caption="Page icon URL" size="32" maxlength="254"/>
|
||||||
<linktypelist name="pgi_urltype" caption="Page Icon URL Type"/>
|
<linktypelist name="pgi_urltype" caption="Page icon URL type"/>
|
||||||
<text name="pgi_mime" caption="Page Icon MIME Type" size="32" maxlength="254"/>
|
<text name="pgi_mime" caption="Page icon MIME type" size="32" maxlength="254"/>
|
||||||
|
|
||||||
<header name="fav_hdr" caption="Page FavIcon">
|
<header name="fav_hdr" caption="Page FavIcon">
|
||||||
This is a Microsoft-format .ICO file used by Internet Explorer.
|
This is a Microsoft-format .ICO file used by Internet Explorer.
|
||||||
</header>
|
</header>
|
||||||
<text name="fav_url" caption="FavIcon URL" size="32" maxlength="254"/>
|
<text name="fav_url" caption="FavIcon URL" size="32" maxlength="254"/>
|
||||||
<linktypelist name="fav_urltype" caption="FavIcon URL Type"/>
|
<linktypelist name="fav_urltype" caption="FavIcon URL type"/>
|
||||||
|
|
||||||
<button name="update"/>
|
<button name="update"/>
|
||||||
<button name="cancel"/>
|
<button name="cancel"/>
|
||||||
</dialog>
|
</dialog>
|
||||||
|
|
32
venice-data/dialogs/sysadmin/session.dlg.xml
Normal file
32
venice-data/dialogs/sysadmin/session.dlg.xml
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
<?xml version="1.0"?>
|
||||||
|
<!--
|
||||||
|
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):
|
||||||
|
-->
|
||||||
|
<dialog name="session_props" defaultbutton="update">
|
||||||
|
<title>Session Parameters</title>
|
||||||
|
<action>sysadmin/session.js.vs</action>
|
||||||
|
|
||||||
|
<text name="init" caption="Session initialization script resource" required="true" size="64" maxlength="254"
|
||||||
|
caption2="(Do NOT change this unless you know what you're doing!)"/>
|
||||||
|
<text name="cookie" caption="Login cookie name" required="true" size="64" maxlength="254"/>
|
||||||
|
<int name="cookieage" caption="Maximum login cookie age" caption2="(in days)" required="true" min="1" max="1825"/>
|
||||||
|
<int name="recovery" caption="Maximum password recovery time" caption2="(in minutes)" required="true"
|
||||||
|
min="5" max="1440"/>
|
||||||
|
|
||||||
|
<button name="update"/>
|
||||||
|
<button name="cancel"/>
|
||||||
|
</dialog>
|
108
venice-data/scripts/sysadmin/email.js
Normal file
108
venice-data/scripts/sysadmin/email.js
Normal file
|
@ -0,0 +1,108 @@
|
||||||
|
// 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(Packages.com.silverwrist.util);
|
||||||
|
importClass(Packages.com.silverwrist.dynamo.Namespaces);
|
||||||
|
importPackage(Packages.com.silverwrist.dynamo.except);
|
||||||
|
importPackage(Packages.com.silverwrist.dynamo.iface);
|
||||||
|
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.frame);
|
||||||
|
|
||||||
|
req = bsf.lookupBean("request");
|
||||||
|
req_help = bsf.lookupBean("request_help");
|
||||||
|
user = vlib.getUser(req);
|
||||||
|
vlib.setOnError(req,"sysadmin/main.js.vs");
|
||||||
|
vlib.setOnErrorType(req,"SERVLET");
|
||||||
|
|
||||||
|
// 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.MAIL_PROPS_NAMESPACE,"set.property")
|
||||||
|
&& acl.testPermission(user,VeniceNamespaces.MAIL_PROPS_NAMESPACE,"set.block")))
|
||||||
|
dynamo.scriptReturn(vlib.stdErrorBox(req,"Security Error","You are not permitted to modify E-mail settings."));
|
||||||
|
|
||||||
|
// Get the global properties store.
|
||||||
|
globals = vcast.getGlobalPropertiesStore(req);
|
||||||
|
blocks = vcast.getGlobalBlocksStore(req);
|
||||||
|
|
||||||
|
// Create the dialog.
|
||||||
|
loader = cast.queryDialogLoader(req);
|
||||||
|
dlg = loader.loadDialogResource("sysadmin/email.dlg.xml");
|
||||||
|
|
||||||
|
my_ns = VeniceNamespaces.MAIL_PROPS_NAMESPACE; // shortcut
|
||||||
|
|
||||||
|
rc = null;
|
||||||
|
if (req_help.isVerb("GET"))
|
||||||
|
{ // Load the dialog with its initial values.
|
||||||
|
dlg.setValue("host",globals.getObject(my_ns,"smtp.host"));
|
||||||
|
dlg.setValue("fromaddr",globals.getObject(my_ns,"system.mail.from.addr"));
|
||||||
|
dlg.setValue("fromname",globals.getObject(my_ns,"system.mail.from.name"));
|
||||||
|
dlg.setValue("mailer",globals.getObject(my_ns,"mailer.name"));
|
||||||
|
dlg.setValue("uinfo",globals.getObject(my_ns,"user.info.header"));
|
||||||
|
dlg.setValue("disclaimer",blocks.getObject(my_ns,"user.disclaimer"));
|
||||||
|
dlg.setValue("sig",blocks.getObject(my_ns,"signature"));
|
||||||
|
|
||||||
|
} // end if
|
||||||
|
else
|
||||||
|
{ // Load information from the dialog
|
||||||
|
op = dlg.getClickedButton(req) + "";
|
||||||
|
if (op=="cancel") // user cancelled - bounce back to the previous menu
|
||||||
|
rc = new Redirect("SERVLET","sysadmin/main.js.vs");
|
||||||
|
else
|
||||||
|
{ // load and validate the dialog
|
||||||
|
dlg.load(req);
|
||||||
|
try
|
||||||
|
{ // validate the dialog
|
||||||
|
dlg.validate(req);
|
||||||
|
|
||||||
|
// set the appropriate values into the system properties
|
||||||
|
globals.setObject(user,my_ns,"smtp.host",dlg.getValue("host"));
|
||||||
|
globals.setObject(user,my_ns,"system.mail.from.addr",dlg.getValue("fromaddr"));
|
||||||
|
globals.setObject(user,my_ns,"system.mail.from.name",dlg.getValue("fromname"));
|
||||||
|
globals.setObject(user,my_ns,"mailer.name",dlg.getValue("mailer"));
|
||||||
|
globals.setObject(user,my_ns,"user.info.header",dlg.getValue("uinfo"));
|
||||||
|
blocks.setObject(user,my_ns,"user.disclaimer",dlg.getValue("disclaimer"));
|
||||||
|
blocks.setObject(user,my_ns,"signature",dlg.getValue("sig"));
|
||||||
|
|
||||||
|
// All done - bounce back to the menu.
|
||||||
|
rc = new Redirect("SERVLET","sysadmin/main.js.vs");
|
||||||
|
|
||||||
|
} // end try
|
||||||
|
catch (e)
|
||||||
|
{ // thrown an exception from the above process - what sort?
|
||||||
|
etype = dynamo.exceptionType(e) + "";
|
||||||
|
logger.error("Caught exception of type " + etype);
|
||||||
|
if (etype.match(/ValidationException/))
|
||||||
|
dlg.setErrorMessage(dynamo.exceptionMessage(e) + " Please try again.");
|
||||||
|
else if (etype.match(/DatabaseException/))
|
||||||
|
rc = new ErrorBox("Database Error",e,"SERVLET","sysadmin/main.js.vs");
|
||||||
|
else if (etype.match(/DynamoSecurityException/))
|
||||||
|
rc = new ErrorBox("Security Error",e,"SERVLET","sysadmin/main.js.vs");
|
||||||
|
else
|
||||||
|
rc = new ErrorBox("Unknown Exception",e,"SERVLET","sysadmin/main.js.vs");
|
||||||
|
|
||||||
|
} // end catch
|
||||||
|
|
||||||
|
} // end else
|
||||||
|
|
||||||
|
} // end else
|
||||||
|
|
||||||
|
if (rc==null)
|
||||||
|
rc = new FrameDialog(dlg); // output dialog if we don't have another value
|
||||||
|
dynamo.scriptOutput(rc);
|
149
venice-data/scripts/sysadmin/frame_laf.js
Normal file
149
venice-data/scripts/sysadmin/frame_laf.js
Normal file
|
@ -0,0 +1,149 @@
|
||||||
|
// 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(Packages.com.silverwrist.util);
|
||||||
|
importClass(Packages.com.silverwrist.dynamo.Namespaces);
|
||||||
|
importPackage(Packages.com.silverwrist.dynamo.except);
|
||||||
|
importPackage(Packages.com.silverwrist.dynamo.iface);
|
||||||
|
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.frame);
|
||||||
|
|
||||||
|
req = bsf.lookupBean("request");
|
||||||
|
req_help = bsf.lookupBean("request_help");
|
||||||
|
user = vlib.getUser(req);
|
||||||
|
vlib.setOnError(req,"sysadmin/main.js.vs");
|
||||||
|
vlib.setOnErrorType(req,"SERVLET");
|
||||||
|
|
||||||
|
// 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.FRAME_LAF_NAMESPACE,"set.property")
|
||||||
|
&& acl.testPermission(user,VeniceNamespaces.FRAME_LAF_NAMESPACE,"set.block")))
|
||||||
|
dynamo.scriptReturn(vlib.stdErrorBox(req,"Security Error",
|
||||||
|
"You are not permitted to modify frame look-and-feel settings."));
|
||||||
|
|
||||||
|
// Get the global properties store.
|
||||||
|
globals = vcast.getGlobalPropertiesStore(req);
|
||||||
|
blocks = vcast.getGlobalBlocksStore(req);
|
||||||
|
|
||||||
|
// Create the dialog.
|
||||||
|
loader = cast.queryDialogLoader(req);
|
||||||
|
dlg = loader.loadDialogResource("sysadmin/frame_laf.dlg.xml");
|
||||||
|
|
||||||
|
my_ns = VeniceNamespaces.FRAME_LAF_NAMESPACE; // shortcut
|
||||||
|
|
||||||
|
rc = null;
|
||||||
|
if (req_help.isVerb("GET"))
|
||||||
|
{ // Load the dialog with its initial values.
|
||||||
|
optset = cast.toOptionSet(globals.getObject(my_ns,"optionset"));
|
||||||
|
|
||||||
|
dlg.setValue("sitetitle",globals.getObject(my_ns,"site.title"));
|
||||||
|
dlg.setValue("siteurl",globals.getObject(my_ns,"site.url"));
|
||||||
|
dlg.setValue("template",globals.getObject(my_ns,"frame.template"));
|
||||||
|
dlg.setValue("fptitle",globals.getObject(my_ns,"frontpage.title"));
|
||||||
|
|
||||||
|
dlg.setValue("lbarwidth",globals.getObject(my_ns,"left.bar.width"));
|
||||||
|
dlg.setValue("comments",cast.booleanObject(optset.get(0)));
|
||||||
|
dlg.setValue("smarttags",cast.booleanObject(optset.get(1)));
|
||||||
|
|
||||||
|
dlg.setValue("logourl",globals.getObject(my_ns,"site.logo.url"));
|
||||||
|
dlg.setValue("logourltype",globals.getObject(my_ns,"site.logo.url.type"));
|
||||||
|
dlg.setValue("logowidth",globals.getObject(my_ns,"site.logo.width"));
|
||||||
|
dlg.setValue("logoheight",globals.getObject(my_ns,"site.logo.height"));
|
||||||
|
|
||||||
|
dlg.setValue("footer",blocks.getObject(my_ns,"footer"));
|
||||||
|
dlg.setValue("fscale",globals.getObject(my_ns,"footer.logo.scale"));
|
||||||
|
dlg.setValue("fbreak",cast.booleanObject(optset.get(2)));
|
||||||
|
|
||||||
|
dlg.setValue("pgi_url",globals.getObject(my_ns,"page.icon.url"));
|
||||||
|
dlg.setValue("pgi_urltype",globals.getObject(my_ns,"page.icon.url.type"));
|
||||||
|
dlg.setValue("pgi_mime",globals.getObject(my_ns,"page.icon.type"));
|
||||||
|
|
||||||
|
dlg.setValue("fav_url",globals.getObject(my_ns,"page.favicon.url"));
|
||||||
|
dlg.setValue("fav_urltype",globals.getObject(my_ns,"page.favicon.url.type"));
|
||||||
|
|
||||||
|
} // end if
|
||||||
|
else
|
||||||
|
{ // Load information from the dialog
|
||||||
|
op = dlg.getClickedButton(req) + "";
|
||||||
|
if (op=="cancel") // user cancelled - bounce back to the previous menu
|
||||||
|
rc = new Redirect("SERVLET","sysadmin/main.js.vs");
|
||||||
|
else
|
||||||
|
{ // load and validate the dialog
|
||||||
|
dlg.load(req);
|
||||||
|
try
|
||||||
|
{ // validate the dialog
|
||||||
|
dlg.validate(req);
|
||||||
|
|
||||||
|
// set the appropriate values into the system properties
|
||||||
|
optset = cast.toOptionSet(globals.getObject(my_ns,"optionset"));
|
||||||
|
|
||||||
|
globals.setObject(user,my_ns,"site.title",dlg.getValue("sitetitle"));
|
||||||
|
globals.setObject(user,my_ns,"site.url",dlg.getValue("siteurl"));
|
||||||
|
globals.setObject(user,my_ns,"frame.template",dlg.getValue("template"));
|
||||||
|
globals.setObject(user,my_ns,"frontpage.title",dlg.getValue("fptitle"));
|
||||||
|
|
||||||
|
globals.setObject(user,my_ns,"left.bar.width",dlg.getValue("lbarwidth"));
|
||||||
|
optset.set(0,cast.toBoolean(dlg.getValue("comments")));
|
||||||
|
optset.set(1,cast.toBoolean(dlg.getValue("smarttags")));
|
||||||
|
|
||||||
|
globals.setObject(user,my_ns,"site.logo.url",dlg.getValue("logourl"));
|
||||||
|
globals.setObject(user,my_ns,"site.logo.url.type",dlg.getValue("logourltype"));
|
||||||
|
globals.setObject(user,my_ns,"site.logo.width",dlg.getValue("logowidth"));
|
||||||
|
globals.setObject(user,my_ns,"site.logo.height",dlg.getValue("logoheight"));
|
||||||
|
|
||||||
|
blocks.setObject(user,my_ns,"footer",dlg.getValue("footer"));
|
||||||
|
globals.setObject(user,my_ns,"footer.logo.scale",dlg.getValue("fscale"));
|
||||||
|
optset.set(2,cast.toBoolean(dlg.getValue("fbreak")));
|
||||||
|
|
||||||
|
globals.setObject(user,my_ns,"page.icon.url",dlg.getValue("pgi_url"));
|
||||||
|
globals.setObject(user,my_ns,"page.icon.url.type",dlg.getValue("pgi_urltype"));
|
||||||
|
globals.setObject(user,my_ns,"page.icon.type",dlg.getValue("pgi_mime"));
|
||||||
|
|
||||||
|
globals.setObject(user,my_ns,"page.favicon.url",dlg.getValue("fav_url"));
|
||||||
|
globals.setObject(user,my_ns,"page.favicon.url.type",dlg.getValue("fav_urltype"));
|
||||||
|
|
||||||
|
globals.setObject(user,my_ns,"optionset",optset);
|
||||||
|
|
||||||
|
// All done - bounce back to the menu.
|
||||||
|
rc = new Redirect("SERVLET","sysadmin/main.js.vs");
|
||||||
|
|
||||||
|
} // end try
|
||||||
|
catch (e)
|
||||||
|
{ // thrown an exception from the above process - what sort?
|
||||||
|
etype = dynamo.exceptionType(e) + "";
|
||||||
|
logger.error("Caught exception of type " + etype);
|
||||||
|
if (etype.match(/ValidationException/))
|
||||||
|
dlg.setErrorMessage(dynamo.exceptionMessage(e) + " Please try again.");
|
||||||
|
else if (etype.match(/DatabaseException/))
|
||||||
|
rc = new ErrorBox("Database Error",e,"SERVLET","sysadmin/main.js.vs");
|
||||||
|
else if (etype.match(/DynamoSecurityException/))
|
||||||
|
rc = new ErrorBox("Security Error",e,"SERVLET","sysadmin/main.js.vs");
|
||||||
|
else
|
||||||
|
rc = new ErrorBox("Unknown Exception",e,"SERVLET","sysadmin/main.js.vs");
|
||||||
|
|
||||||
|
} // end catch
|
||||||
|
|
||||||
|
} // end else
|
||||||
|
|
||||||
|
} // end else
|
||||||
|
|
||||||
|
if (rc==null)
|
||||||
|
rc = new FrameDialog(dlg); // output dialog if we don't have another value
|
||||||
|
dynamo.scriptOutput(rc);
|
35
venice-data/scripts/sysadmin/main.js
Normal file
35
venice-data/scripts/sysadmin/main.js
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
// 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):
|
||||||
|
|
||||||
|
importClass(Packages.com.silverwrist.dynamo.Namespaces);
|
||||||
|
importPackage(Packages.com.silverwrist.dynamo.except);
|
||||||
|
importPackage(Packages.com.silverwrist.dynamo.iface);
|
||||||
|
importPackage(Packages.com.silverwrist.dynamo.security);
|
||||||
|
importClass(Packages.com.silverwrist.venice.VeniceNamespaces);
|
||||||
|
importPackage(Packages.com.silverwrist.venice.iface);
|
||||||
|
importPackage(Packages.com.silverwrist.venice.menu);
|
||||||
|
|
||||||
|
req = bsf.lookupBean("request");
|
||||||
|
req_help = bsf.lookupBean("request_help");
|
||||||
|
user = vlib.getUser(req);
|
||||||
|
|
||||||
|
// Get the menu provider and the menu.
|
||||||
|
mprov = vcast.queryMenuProvider(req_help.getRequestObject(Namespaces.DYNAMO_OBJECT_NAMESPACE,"venice-menus"));
|
||||||
|
srm = cast.querySecurityReferenceMonitor(req_help.getRequestObject(Namespaces.DYNAMO_OBJECT_NAMESPACE,"srm"));
|
||||||
|
aclids = cast.newIntArray(1);
|
||||||
|
aclids[0] = srm.getGlobalAcl().getAclID();
|
||||||
|
menu = mprov.getStandardMenu(user,VeniceNamespaces.SYSTEM_PERMS_NAMESPACE,"system.admin",aclids);
|
||||||
|
dynamo.scriptOutput(menu);
|
101
venice-data/scripts/sysadmin/session.js
Normal file
101
venice-data/scripts/sysadmin/session.js
Normal file
|
@ -0,0 +1,101 @@
|
||||||
|
// 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(Packages.com.silverwrist.util);
|
||||||
|
importClass(Packages.com.silverwrist.dynamo.Namespaces);
|
||||||
|
importPackage(Packages.com.silverwrist.dynamo.except);
|
||||||
|
importPackage(Packages.com.silverwrist.dynamo.iface);
|
||||||
|
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.frame);
|
||||||
|
|
||||||
|
req = bsf.lookupBean("request");
|
||||||
|
req_help = bsf.lookupBean("request_help");
|
||||||
|
user = vlib.getUser(req);
|
||||||
|
vlib.setOnError(req,"sysadmin/main.js.vs");
|
||||||
|
vlib.setOnErrorType(req,"SERVLET");
|
||||||
|
|
||||||
|
// 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.SESSION_CONTROL_NAMESPACE,"set.property")))
|
||||||
|
dynamo.scriptReturn(vlib.stdErrorBox(req,"Security Error","You are not permitted to modify E-mail settings."));
|
||||||
|
|
||||||
|
// Get the global properties store.
|
||||||
|
globals = vcast.getGlobalPropertiesStore(req);
|
||||||
|
blocks = vcast.getGlobalBlocksStore(req);
|
||||||
|
|
||||||
|
// Create the dialog.
|
||||||
|
loader = cast.queryDialogLoader(req);
|
||||||
|
dlg = loader.loadDialogResource("sysadmin/session.dlg.xml");
|
||||||
|
|
||||||
|
my_ns = VeniceNamespaces.SESSION_CONTROL_NAMESPACE; // shortcut
|
||||||
|
|
||||||
|
rc = null;
|
||||||
|
if (req_help.isVerb("GET"))
|
||||||
|
{ // load the default values into the dialog
|
||||||
|
dlg.setValue("init",globals.getObject(my_ns,"session.init.script"));
|
||||||
|
dlg.setValue("cookie",globals.getObject(my_ns,"login.cookie"));
|
||||||
|
dlg.setValue("cookieage",globals.getObject(my_ns,"login.cookie.maxage"));
|
||||||
|
dlg.setValue("recovery",globals.getObject(my_ns,"password.recovery.time"));
|
||||||
|
|
||||||
|
} // end if
|
||||||
|
else
|
||||||
|
{ // Load information from the dialog
|
||||||
|
op = dlg.getClickedButton(req) + "";
|
||||||
|
if (op=="cancel") // user cancelled - bounce back to the previous menu
|
||||||
|
rc = new Redirect("SERVLET","sysadmin/main.js.vs");
|
||||||
|
else
|
||||||
|
{ // load and validate the dialog
|
||||||
|
dlg.load(req);
|
||||||
|
try
|
||||||
|
{ // validate the dialog
|
||||||
|
dlg.validate(req);
|
||||||
|
|
||||||
|
// set the appropriate values into the system properties
|
||||||
|
globals.setObject(user,my_ns,"session.init.script",dlg.getValue("init"));
|
||||||
|
globals.setObject(user,my_ns,"login.cookie",dlg.getValue("cookie"));
|
||||||
|
globals.setObject(user,my_ns,"login.cookie.maxage",dlg.getValue("cookieage"));
|
||||||
|
globals.setObject(user,my_ns,"password.recovery.time",dlg.getValue("recovery"));
|
||||||
|
|
||||||
|
// All done - bounce back to the menu.
|
||||||
|
rc = new Redirect("SERVLET","sysadmin/main.js.vs");
|
||||||
|
|
||||||
|
} // end try
|
||||||
|
catch (e)
|
||||||
|
{ // thrown an exception from the above process - what sort?
|
||||||
|
etype = dynamo.exceptionType(e) + "";
|
||||||
|
logger.error("Caught exception of type " + etype);
|
||||||
|
if (etype.match(/ValidationException/))
|
||||||
|
dlg.setErrorMessage(dynamo.exceptionMessage(e) + " Please try again.");
|
||||||
|
else if (etype.match(/DatabaseException/))
|
||||||
|
rc = new ErrorBox("Database Error",e,"SERVLET","sysadmin/main.js.vs");
|
||||||
|
else if (etype.match(/DynamoSecurityException/))
|
||||||
|
rc = new ErrorBox("Security Error",e,"SERVLET","sysadmin/main.js.vs");
|
||||||
|
else
|
||||||
|
rc = new ErrorBox("Unknown Exception",e,"SERVLET","sysadmin/main.js.vs");
|
||||||
|
|
||||||
|
} // end catch
|
||||||
|
|
||||||
|
} // end else
|
||||||
|
|
||||||
|
} // end else
|
||||||
|
|
||||||
|
if (rc==null)
|
||||||
|
rc = new FrameDialog(dlg); // output dialog if we don't have another value
|
||||||
|
dynamo.scriptOutput(rc);
|
|
@ -118,6 +118,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div> </div>
|
<div> </div>
|
||||||
<div class="frameleft">#render( $fixed_menu )</div>
|
<div class="frameleft">#render( $fixed_menu )</div>
|
||||||
|
<img src="#formatURL( "IMAGE" "spacer.gif" )" width="$lbar_width" height="1" border="0" />
|
||||||
#comment( "END LEFT SIDEBAR" )
|
#comment( "END LEFT SIDEBAR" )
|
||||||
</td>
|
</td>
|
||||||
|
|
||||||
|
|
BIN
venice-web/images/spacer.gif
Normal file
BIN
venice-web/images/spacer.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 43 B |
Loading…
Reference in New Issue
Block a user