//idega 2000 Grimur Jonsson - Tryggvi Larusson
/*
*Copyright 2000-2001 idega.is All Rights Reserved.
*/
package is.idega.idegaweb.golf.block.login.presentation;
import is.idega.idegaweb.golf.access.AccessControl;
import is.idega.idegaweb.golf.block.login.business.LoginBusiness;
import is.idega.idegaweb.golf.entity.Member;
import com.idega.presentation.Block;
import com.idega.presentation.IWContext;
import com.idega.presentation.Table;
import com.idega.presentation.text.Link;
import com.idega.presentation.text.Text;
import com.idega.presentation.ui.Form;
import com.idega.presentation.ui.Parameter;
import com.idega.presentation.ui.PasswordInput;
import com.idega.presentation.ui.SubmitButton;
import com.idega.presentation.ui.TextInput;
/**
* Title: Login
* Description:
* Copyright: Copyright (c) 2000-2001 idega.is All Rights Reserved
* Company: idega
*@author <a href="mailto:gimmi@idega.is">Grimur Jonsson</a>,<a href="mailto:tryggvi@idega.is">Tryggvi Larusson</a>
* @version 1.1
*/
public class Login extends Block{
String backgroundImageUrl = "";
String loginImageUrl = "";
String newUserImageUrl = "";
String logOutImageUrl = "";
String tryAgainImageUrl = "";
String loginWidth = "";
String loginHeight = "";
String color = "";
String loggedOnTextSize = "";
String loggedOnTextColor = "";
String userText = "";
String userTextColor = "";
String userTextSize = "";
String passwordText = "";
String passwordTextColor = "";
String passwordTextSize = "";
boolean vertical = false;
boolean noLoginImage=true;
String styleAttribute = "font-size: 10pt";
int inputLength = 10;
public static String controlParameter;
public Login() {
super();
setDefaultValues();
}
private void setDefaultValues() {
loginImageUrl="/pics/templates/tengjast2.gif";
newUserImageUrl="/pics/templates/nyskraning2.gif";
loginWidth="148";
loginHeight="89";
userText = "Notandi";
passwordText = "Lykilor�";
// color = "#FFFFFF";
}
public void setVertical() {
vertical = true;
}
public void setHorizontal() {
vertical = false;
}
public void setStyle(String styleAttribute){
this.styleAttribute=styleAttribute;
}
public void setInputLength(int inputLength) {
this.inputLength=inputLength;
}
public void setLoggedOnTextSize(String size) {
loggedOnTextSize = size;
}
public void setLoggedOnTextColor(String color) {
loggedOnTextColor = color;
}
public void setUserText(String text) {
userText = text;
}
public void setUserTextSize(String size) {
userTextSize = size;
}
public void setUserTextColor(String color) {
userTextColor = color;
}
public void setPasswordText(String text) {
passwordText = text;
}
public void setPasswordTextSize(String size) {
passwordTextSize = size;
}
public void setPasswordTextColor(String color) {
passwordTextColor = color;
}
public void setColor(String color) {
this.color = color;
}
public void setHeight(String height) {
loginHeight = height;
}
public void setWidth(String width) {
loginWidth = width;
}
public void setBackgroundImageUrl(String url) {
backgroundImageUrl = url;
}
public void setLoginImageUrl(String url) {
noLoginImage=false;
loginImageUrl = url;
}
public void setNewUserImageUrl(String url) {
noLoginImage=false;
newUserImageUrl = url;
}
public void setTryAgainImageUrl(String url) {
tryAgainImageUrl = url;
}
public void setLogOutImageUrl(String url) {
logOutImageUrl = url;
}
public static boolean isAdmin(IWContext modinfo)throws Exception{
return AccessControl.isAdmin(modinfo);
}
/* public boolean isDeveloper(ModuleInfo modinfo)throws Exception{
Member member = getMember(modinfo);
if (member != null){
Group[] access = member.getGroups();
for(int i = 0; i < access.length; i++){
if ("developer".equals(access[i].getName()))
return true;
}
}
return false;
}
public boolean isClubAdmin(ModuleInfo modinfo)throws Exception{
Member member = getMember(modinfo);
if (member != null){
Group[] access = member.getGroups();
for(int i = 0; i < access.length; i++){
if ("club_admin".equals(access[i].getName()))
return true;
}
}
return false;
}
public boolean isUser(ModuleInfo modinfo)throws Exception{
Member member = getMember(modinfo);
if (member != null){
Group[] access = member.getGroups();
for(int i = 0; i < access.length; i++){
if ("user".equals(access[i].getName()))
return true;
}
}
return false;
}
*/
public static Member getMember(IWContext modinfo){
return AccessControl.getMember(modinfo);
}
private void startState(){
Form myForm = new Form();
//myForm.submitTo(this);
myForm.setEventListener(LoginBusiness.class);
myForm.setMethod("post");
myForm.maintainAllParameters();
/* Table EinnTable = new Table(2,1);
EinnTable.setBorder(0);
EinnTable.setWidth(1,"148");
EinnTable.setWidth(2,"20");
EinnTable.setHeight("89");
EinnTable.setVerticalAlignment(2,1,"top");
EinnTable.setCellpadding(0);
EinnTable.setCellspacing(0);
Table haegri = new Table(1,2);
haegri.setBackgroundImage(1,1,new Image("/pics/templates/loginHorn.gif"));
haegri.setCellpadding(0);
haegri.setCellspacing(0);
haegri.setWidth(1,1,"19");
haegri.setHeight(1,1,"20");
EinnTable.add(haegri,2,1);
*/
Table TveirTable = new Table(1,1);
// TveirTable.setBorder(1);
TveirTable.setBackgroundImage(1,1,new com.idega.presentation.Image(backgroundImageUrl));
TveirTable.setAlignment(1,1,"center");
if (!(color.equals(""))) {
TveirTable.setColor(color);
}
TveirTable.setWidth(loginWidth);
TveirTable.setHeight(loginHeight);
TveirTable.setCellpadding(0);
TveirTable.setCellspacing(0);
// TveirTable.setHeight(1,1,"89");
// EinnTable.add(TveirTable,1,1);
Table TrirTable = new Table(1,2);
TrirTable.setBorder(0);
TrirTable.setWidth("100%");
// TrirTable.setWidth("146");
TrirTable.setHeight("100%");
if (!(color.equals(""))) {
TrirTable.setColor(color);
}
TrirTable.setCellpadding(0);
TrirTable.setCellspacing(0);
TrirTable.setBackgroundImage(1,2,new com.idega.presentation.Image(""));
// TrirTable.setColor(1,2,"#FFFFFF");
Text loginTexti = new Text(userText);
if (!(userTextSize.equals(""))) {
loginTexti.setFontSize(Integer.parseInt(userTextSize));
}
if (!(userTextColor.equals(""))) {
loginTexti.setFontColor(userTextColor);
}
Text passwordTexti = new Text(passwordText);
if (!(passwordTextSize.equals(""))) {
passwordTexti.setFontSize(Integer.parseInt(passwordTextSize));
}
if (!(passwordTextColor.equals(""))) {
passwordTexti.setFontColor(passwordTextColor);
}
Table uppi;
if (!(vertical)) {
uppi = new Table(5,2);
uppi.setBorder(0);
if (!(color.equals(""))) {
uppi.setColor(color);
}
uppi.setCellpadding(0);
uppi.setCellspacing(0);
uppi.setAlignment(2,1,"right");
uppi.setAlignment(2,2,"right");
uppi.setWidth("100%");
TrirTable.add(uppi,1,1);
uppi.add(loginTexti,2,1);
TextInput login = new TextInput("login");
login.setStyleAttribute(styleAttribute);
login.setSize(inputLength);
uppi.add(login,2,2);
uppi.setAlignment(2,1,"right");
uppi.setAlignment(2,2,"right");
uppi.add(passwordTexti,4,1);
PasswordInput passw = new PasswordInput("password");
passw.setStyleAttribute(styleAttribute);
passw.setSize(inputLength);
uppi.add(passw,4,2);
}
else {
uppi = new Table(3,3);
uppi.setBorder(0);
if (!(color.equals(""))) {
uppi.setColor(color);
}
uppi.setCellpadding(0);
uppi.setCellspacing(0);
uppi.setAlignment("center");
uppi.mergeCells(1,2,3,2);
uppi.addText("",1,2);
uppi.setHeight(2,"10");
// uppi.setWidth("100%");
TrirTable.add(uppi,1,1);
uppi.add(loginTexti,1,1);
TextInput login = new TextInput("login");
login.setStyleAttribute(styleAttribute);
login.setSize(inputLength);
uppi.add(login,3,1);
uppi.setAlignment(1,1,"right");
// uppi.setAlignment(2,2,"right");
uppi.add(passwordTexti,1,3);
PasswordInput passw = new PasswordInput("password");
passw.setStyleAttribute(styleAttribute);
passw.setSize(inputLength);
uppi.add(passw,3,3);
uppi.setAlignment(1,3,"right");
}
Table nidri = new Table(2,1);
nidri.setBorder(0);
if (!(color.equals(""))) {
nidri.setColor(color);
}
nidri.setVerticalAlignment(1,1,"middle");
nidri.setAlignment(1,1,"center");
nidri.setWidth("100%");
nidri.setHeight("100%");
nidri.mergeCells(1,1,2,1);
TrirTable.add(nidri,1,2);
if(noLoginImage){
nidri.add(new SubmitButton("tengja","Login"),1,1);
nidri.add(new Parameter(LoginBusiness.LoginStateParameter,"login"));
}
else{
nidri.add(new SubmitButton(new com.idega.presentation.Image(loginImageUrl),"tengja"),1,1);
nidri.add(new Parameter(LoginBusiness.LoginStateParameter,"login"));
}
TveirTable.add(TrirTable);
myForm.add(TveirTable);
// myForm.add(EinnTable);
add(myForm);
}
private void isLoggedOn(IWContext modinfo) throws Exception{
Text user = new Text();
// user.setBold();
if (!(userTextSize.equals(""))) {
user.setFontSize(Integer.parseInt(userTextSize));
}
if (!(userTextColor.equals(""))) {
user.setFontColor(userTextColor);
}
Member member = (Member) getMember(modinfo);
user.addToText(member.getName());
Link hlekkur = new Link(user,"/test/nyskraning.jsp?kt="+member.getSocialSecurityNumber());
Form myForm = new Form();
//myForm.submitTo(this);
myForm.setEventListener(LoginBusiness.class);
/* Table EinnTable = new Table(2,1);
EinnTable.setBorder(0);
EinnTable.setWidth(1,"148");
EinnTable.setWidth(2,"20");
EinnTable.setHeight("89");
EinnTable.setVerticalAlignment(2,1,"top");
EinnTable.setCellpadding(0);
EinnTable.setCellspacing(0);
Table haegri = new Table(1,2);
haegri.setBackgroundImage(1,1,new Image("/pics/templates/loginHorn.gif"));
haegri.setCellpadding(0);
haegri.setCellspacing(0);
haegri.setWidth(1,1,"19");
haegri.setHeight(1,1,"20");
EinnTable.add(haegri,2,1);
*/
Table TveirTable = new Table(1,1);
// TveirTable.setBorder(1);
if (!(color.equals(""))) {
TveirTable.setColor(color);
}
TveirTable.setBackgroundImage(1,1,new com.idega.presentation.Image(backgroundImageUrl));
TveirTable.setAlignment(1,1,"center");
TveirTable.setWidth(loginWidth);
TveirTable.setHeight(loginHeight);
TveirTable.setCellpadding(0);
TveirTable.setCellspacing(0);
// TveirTable.setHeight(1,1,"89");
// EinnTable.add(TveirTable,1,1);
Table TrirTable = new Table(1,2);
TrirTable.setBorder(0);
TrirTable.setWidth("100%");
// TrirTable.setWidth("146");
// TrirTable.setHeight("87");
TrirTable.setCellpadding(0);
TrirTable.setCellspacing(0);
TrirTable.setBackgroundImage(1,2,new com.idega.presentation.Image(""));
if (!(color.equals(""))) {
TrirTable.setColor(color);
}
// TrirTable.setColor(1,2,"#FFFFFF");
TveirTable.add(TrirTable,1,1);
Table uppi = new Table(1,1);
if (!(color.equals(""))) {
uppi.setColor(color);
}
uppi.setBorder(0);
uppi.setCellpadding(0);
uppi.setCellspacing(0);
uppi.setAlignment(1,1,"center");
uppi.setVerticalAlignment(1,1,"middle");
// uppi.setHeight("43");
uppi.setWidth("100%");
TrirTable.add(uppi,1,1);
Table nidri = new Table(1,1);
nidri.setBorder(0);
if (!(color.equals(""))) {
nidri.setColor(color);
}
nidri.setAlignment(1,1,"center");
nidri.setVerticalAlignment(1,1,"middle");
nidri.setWidth("100%");
TrirTable.add(nidri,1,2);
uppi.add(user);
// uppi.add(hlekkur);
if (logOutImageUrl.equals("")) {
nidri.add(new SubmitButton("action","�tskr�ning"));
nidri.add(new Parameter(LoginBusiness.LoginStateParameter,"logoff"));
}
else {
com.idega.presentation.Image logOut = new com.idega.presentation.Image(logOutImageUrl);
nidri.add(new SubmitButton(logOut,"utskraning"));
nidri.add(new Parameter(LoginBusiness.LoginStateParameter,"logoff"));
}
// myForm.add(EinnTable);
myForm.add(TveirTable);
add(myForm);
}
private void loginFailed() {
Form myForm = new Form();
//myForm.submitTo(this);
myForm.setEventListener(LoginBusiness.class);
/* Table EinnTable = new Table(2,1);
EinnTable.setBorder(0);
EinnTable.setWidth(1,"148");
EinnTable.setWidth(2,"20");
EinnTable.setHeight("89");
EinnTable.setVerticalAlignment(2,1,"top");
EinnTable.setCellpadding(0);
EinnTable.setCellspacing(0);
Table haegri = new Table(1,2);
haegri.setBackgroundImage(1,1,new Image("/pics/templates/loginHorn.gif"));
haegri.setCellpadding(0);
haegri.setCellspacing(0);
haegri.setWidth(1,1,"19");
haegri.setHeight(1,1,"20");
EinnTable.add(haegri,2,1);
*/
Table TveirTable = new Table(1,1);
// TveirTable.setBorder(1);
if (!(color.equals(""))) {
TveirTable.setColor(color);
}
TveirTable.setBackgroundImage(1,1,new com.idega.presentation.Image(backgroundImageUrl));
TveirTable.setAlignment(1,1,"center");
TveirTable.setWidth(loginWidth);
TveirTable.setHeight(loginHeight);
TveirTable.setCellpadding(0);
TveirTable.setCellspacing(0);
// TveirTable.setHeight(1,1,"89");
// EinnTable.add(TveirTable,1,1);
Table TrirTable = new Table(1,2);
TrirTable.setBorder(0);
TrirTable.setWidth("100%");
// TrirTable.setWidth("146");
// TrirTable.setHeight("87");
TrirTable.setCellpadding(0);
TrirTable.setCellspacing(0);
TrirTable.setBackgroundImage(1,2,new com.idega.presentation.Image(""));
if (!(color.equals(""))) {
TrirTable.setColor(color);
}
// TrirTable.setColor(1,2,"#FFFFFF");
TveirTable.add(TrirTable,1,1);
Table uppi = new Table(1,1);
uppi.setBorder(0);
if (!(color.equals(""))) {
uppi.setColor(color);
}
uppi.setCellpadding(0);
uppi.setCellspacing(0);
uppi.setAlignment(1,1,"center");
uppi.setVerticalAlignment(1,1,"middle");
// uppi.setHeight("43");
uppi.setWidth("100%");
TrirTable.add(uppi,1,1);
Table nidri = new Table(1,1);
nidri.setBorder(0);
if (!(color.equals(""))) {
nidri.setColor(color);
}
nidri.setAlignment(1,1,"center");
nidri.setVerticalAlignment(1,1,"middle");
nidri.setWidth("100%");
TrirTable.add(nidri,1,2);
Text mistokst = new Text("Innskr�ning mist�kst");
if (!(userTextSize.equals(""))) {
mistokst.setFontSize(Integer.parseInt(userTextSize));
}
if (!(userTextColor.equals(""))) {
mistokst.setFontColor(userTextColor);
}
uppi.add(mistokst,1,1);
if (tryAgainImageUrl.equals("")) {
nidri.add(new SubmitButton("Reyna aftur"),1,1);
nidri.add(new Parameter(LoginBusiness.LoginStateParameter,"tryagain"));
}
else {
com.idega.presentation.Image tryAgain = new com.idega.presentation.Image(tryAgainImageUrl);
nidri.add(new SubmitButton(tryAgain,"tryAgain"));
nidri.add(new Parameter(LoginBusiness.LoginStateParameter,"tryagain"));
}
// myForm.add(EinnTable);
myForm.add(TveirTable);
add(myForm);
}
private void isNotSignedOn(String what) {
Form myForm = new Form();
//myForm.submitTo(this);
myForm.setEventListener(LoginBusiness.class);
/* Table EinnTable = new Table(2,1);
EinnTable.setBorder(0);
EinnTable.setWidth(1,"148");
EinnTable.setWidth(2,"20");
EinnTable.setHeight("89");
EinnTable.setVerticalAlignment(2,1,"top");
EinnTable.setCellpadding(0);
EinnTable.setCellspacing(0);
Table haegri = new Table(1,2);
haegri.setBackgroundImage(1,1,new Image("/pics/templates/loginHorn.gif"));
haegri.setCellpadding(0);
haegri.setCellspacing(0);
haegri.setWidth(1,1,"19");
haegri.setHeight(1,1,"20");
EinnTable.add(haegri,2,1);
*/
Table TveirTable = new Table(1,1);
// TveirTable.setBorder(1);
if (!(color.equals(""))) {
TveirTable.setColor(color);
}
TveirTable.setBackgroundImage(1,1,new com.idega.presentation.Image(backgroundImageUrl));
TveirTable.setAlignment(1,1,"center");
TveirTable.setWidth(loginWidth);
TveirTable.setHeight(loginHeight);
TveirTable.setCellpadding(0);
TveirTable.setCellspacing(0);
// TveirTable.setHeight(1,1,"89");
// EinnTable.add(TveirTable,1,1);
Table TrirTable = new Table(1,2);
TrirTable.setBorder(0);
TrirTable.setWidth("100%");
// TrirTable.setWidth("146");
// TrirTable.setHeight("87");
if (!(color.equals(""))) {
TrirTable.setColor(color);
}
TrirTable.setCellpadding(0);
TrirTable.setCellspacing(0);
TrirTable.setBackgroundImage(1,2,new com.idega.presentation.Image(""));
TrirTable.setColor(1,2,"#FFFFFF");
TveirTable.add(TrirTable,1,1);
Table uppi = new Table(1,1);
if (!(color.equals(""))) {
uppi.setColor(color);
}
uppi.setBorder(0);
uppi.setCellpadding(0);
uppi.setCellspacing(0);
uppi.setAlignment(1,1,"center");
uppi.setVerticalAlignment(1,1,"middle");
// uppi.setHeight("43");
uppi.setWidth("100%");
TrirTable.add(uppi,1,1);
Table nidri = new Table(1,1);
if (!(color.equals(""))) {
nidri.setColor(color);
}
nidri.setBorder(0);
nidri.setAlignment(1,1,"center");
nidri.setVerticalAlignment(1,1,"middle");
nidri.setWidth("100%");
TrirTable.add(nidri,1,2);
Text textinn = new Text("");
textinn.setFontSize(1);
textinn.setBold();
if (what.equals("empty")) {
textinn.addToText("Skrifi� kennit�lu � notandareitinn");
}
else if (what.equals("toBig")) {
textinn.addToText("Kennitala skal vera skrifu� �n bandstriks");
}
uppi.add(textinn,1,1);
nidri.add(new SubmitButton("Reyna aftur"),1,1);
// myForm.add(EinnTable);
myForm.add(TveirTable);
add(myForm);
}
public void main(IWContext modinfo)throws Exception{
String state = internalGetState(modinfo);
if(state!=null){
if(state.equals("loggedon")){
isLoggedOn(modinfo);
}
else if(state.equals("loggedoff")){
startState();
}
else if(state.equals("loginfailed")){
loginFailed();
}
else{
startState();
}
}
else{
startState();
}
}
public String internalGetState(IWContext modinfo){
return LoginBusiness.internalGetStateString(modinfo);
}
}