package com.rectang.xsm.types;
import org.jdom.Element;
import org.apache.wicket.markup.html.WebMarkupContainer;
import com.rectang.xsm.XSM;
import com.rectang.xsm.doc.*;
import com.rectang.xsm.widget.TextArea;
public class Login
extends DocList
{
public Login( java.lang.String name )
{
super( name, new DocElement[]{new TextArea( "header" ),
new TextArea( "footer" )} );
((DocWidget) elements[0]).setProperty( "rows", "6" );
((DocWidget) elements[1]).setProperty( "rows", "6" );
}
public void view( Element root, StringBuffer s )
{
elements[0].view( root.getChild( "header" ), s );
s.append( "<h4>Login form will be published here.</h4>\n" );
elements[1].view( root.getChild( "footer" ), s );
}
public WebMarkupContainer edit( String wicketId, Element node, String path )
{
return super.edit( wicketId, node, path, "The header text appears before the login form and the footer text after" );
}
public void publish( Element root, StringBuffer s )
{
elements[0].publish( root.getChild( "header" ), s );
// long wicket-generated action param
s.append( "<form action=\"" );
s.append( XSM.getConfig().getUrl() );
s.append( "login?wicket:interface=%3A3%3Alogin%3Alogin%3A%3AIFormSubmitListener%3A%3A\"" );
s.append( " method=\"post\">\n" );
s.append( " <p>\n <label for=\"xsm_username\">Username</label><br />\n" );
s.append( " <input type=\"text\" name=\"username\" id=\"xsm_username\" value=\"\" /><br />\n" );
s.append( " <label for=\"xsm_password\">Password</label><br />\n" );
s.append( " <input type=\"password\" name=\"password\" id=\"xsm_password\" /><br />\n" );
s.append( " <input type=\"hidden\" name=\"sitename\" id=\"xsm_sitename\" value=\"" );
s.append( getSite().getUniqueID() );
s.append( "\" /><br />\n" );
s.append( " <input type=\"hidden\" name=\"action\" value=\"login\" />\n" );
s.append( " <input type=\"submit\" value=\"Log In\" />\n </p>\n" );
s.append( "</form>\n" );
if ( getSite().canRegister() )
{
s.append( "<p>Don't have an account? <a href=\"" );
s.append( XSM.getConfig().getUrl() );
s.append( "register?sitename=" );
s.append( getSite().getUniqueID() );
s.append( "\">Register</a> for one.</p>" );
}
elements[1].publish( root.getChild( "footer" ), s );
}
}