KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > forum > actions > wiki > CheckEditAccess


1 /* Copyright 2000-2005 Anders Hovmöller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 package net.killingar.forum.actions.wiki;
27
28 import net.killingar.forum.actions.ActionForumSupport;
29 import net.killingar.forum.internal.AccessLevel;
30
31 public class CheckEditAccess extends ActionForumSupport
32 {
33   // Attributes -----------------------------------------------------
34
String JavaDoc wiki;
35     String JavaDoc context = "wiki";
36
37   // Setters --------------------------------------------------------
38
public String JavaDoc getWiki() { return wiki; }
39     public void setWiki(String JavaDoc wiki) { this.wiki = wiki; }
40     public String JavaDoc getContext() { return context; }
41     public void setContext(String JavaDoc in) { context = in; }
42
43   // Getters --------------------------------------------------------
44
protected String JavaDoc doExecute()
45     {
46         if (!manager.isLoggedIn() )
47             return "loginerror";
48
49         /*if (context.equals("userpages"))
50         {
51             long userid;
52             try
53             {
54                 userid = Long.parseLong(wiki);
55             }
56             catch (NumberFormatException e)
57             {
58                 addErrorMessage(e.toString());
59                 return ERROR;
60             }
61
62             if (manager.getUserID() != userid)
63             {
64                 addErrorMessage("attempt to modify another users private page");
65
66                 return ERROR;
67             }
68         }*/

69
70         try
71         {
72             if (!manager.hasAccess(AccessLevel.myWiki))
73             {
74                 addErrorMessage("access denied");
75                 return ERROR;
76             }
77
78             long userContext = Long.parseLong(context);
79             if (userContext != manager.getUserID())
80             {
81                 addErrorMessage("attempt to modify another users private page");
82
83                 return ERROR;
84             }
85         }
86         catch (NumberFormatException JavaDoc e)
87         {
88             // this isn't a user context, continue
89
}
90         catch (java.sql.SQLException JavaDoc e)
91         {
92             addErrorMessage(e.toString());
93             return ERROR;
94         }
95
96         return SUCCESS;
97     }
98 }
99
Popular Tags