diff --git a/README.md b/README.md deleted file mode 100644 index 89df0a73..00000000 --- a/README.md +++ /dev/null @@ -1,17 +0,0 @@ -IF3038-2013 -=========== - -Repositori ini adalah repositori dasar yang akan dijadikan basis oleh setiap kelompok peserta kuliah IF3038. -Pengumpulan Tugas: -- Sebutkan URL repositori yang akan dinilai - - Repositori ini harus merupakan fork dari repo ini (baik secara langsung atau tidak langsung) -- Sebutkan anggota dari kelompok (NIM NAMA MAIL GITHUB_ID) -- Kontributor dari repositori tersebut HANYA anggota kelompok yang bersangkutan - -Rule dan Konvensi: -- Setiap peserta harus menggunakan akun pribadi, dan bukan shared-account, pada setiap kegiatan/hubungan dengan github -- Proyek yang dikumpulkan harus memuat file berikut: - - INSTALL.md - berisi how-to untuk proses peng-install-an dari aplikasi - - MEMEBER.md - berisi NIM NAMA MAIL GITHUB_ID dari anggota grup ini - - src/ - berisi semua kode sumber dari aplikasi yang akan anda kumplukan - - docs/ - berisi dokumentasi dari aplikasi, jika diperlukan diff --git a/TEBTaskManage/.classpath b/TEBTaskManage/.classpath new file mode 100644 index 00000000..7525af07 --- /dev/null +++ b/TEBTaskManage/.classpath @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/TEBTaskManage/.project b/TEBTaskManage/.project new file mode 100644 index 00000000..ab08f5f2 --- /dev/null +++ b/TEBTaskManage/.project @@ -0,0 +1,44 @@ + + + TEBTaskManage + + + + + + org.eclipse.wst.common.project.facet.core.builder + + + + + org.eclipse.jdt.core.javabuilder + + + + + com.google.gdt.eclipse.core.webAppProjectValidator + + + + + com.google.appengine.eclipse.core.gaeProjectChangeNotifier + + + + + com.google.appengine.eclipse.core.projectValidator + + + + + com.google.appengine.eclipse.core.enhancerbuilder + + + + + + org.eclipse.jdt.core.javanature + com.google.appengine.eclipse.core.gaeNature + org.eclipse.wst.common.project.facet.core.nature + + diff --git a/TEBTaskManage/.settings/com.google.appengine.eclipse.core.prefs b/TEBTaskManage/.settings/com.google.appengine.eclipse.core.prefs new file mode 100644 index 00000000..92e3b356 --- /dev/null +++ b/TEBTaskManage/.settings/com.google.appengine.eclipse.core.prefs @@ -0,0 +1,8 @@ +eclipse.preferences.version=1 +filesCopiedToWebInfLib=appengine-api-1.0-sdk-1.7.7.1.jar|appengine-api-labs.jar|appengine-endpoints.jar|appengine-jsr107cache-1.7.7.1.jar|asm-4.0.jar|datanucleus-api-jdo-3.1.3.jar|datanucleus-api-jpa-3.1.3.jar|datanucleus-appengine-2.1.2.jar|datanucleus-core-3.1.3.jar|geronimo-jpa_2.0_spec-1.0.jar|jdo-api-3.0.1.jar|jsr107cache-1.1.jar|jta-1.1.jar +gaeDatanucleusVersion=v2 +gaeDeployDialogSettings= +gaeHrdEnabled=true +googleCloudSqlEnabled=false +localDevMySqlEnabled=true +validationExclusions=src/Servlet/registration.java diff --git a/TEBTaskManage/.settings/com.google.gdt.eclipse.core.prefs b/TEBTaskManage/.settings/com.google.gdt.eclipse.core.prefs new file mode 100644 index 00000000..61d442c0 --- /dev/null +++ b/TEBTaskManage/.settings/com.google.gdt.eclipse.core.prefs @@ -0,0 +1,3 @@ +eclipse.preferences.version=1 +warSrcDir=war +warSrcDirIsOutput=true diff --git a/TEBTaskManage/.settings/org.eclipse.jdt.core.prefs b/TEBTaskManage/.settings/org.eclipse.jdt.core.prefs new file mode 100644 index 00000000..11f6e462 --- /dev/null +++ b/TEBTaskManage/.settings/org.eclipse.jdt.core.prefs @@ -0,0 +1,7 @@ +eclipse.preferences.version=1 +org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled +org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7 +org.eclipse.jdt.core.compiler.compliance=1.7 +org.eclipse.jdt.core.compiler.problem.assertIdentifier=error +org.eclipse.jdt.core.compiler.problem.enumIdentifier=error +org.eclipse.jdt.core.compiler.source=1.7 diff --git a/TEBTaskManage/.settings/org.eclipse.wst.common.project.facet.core.xml b/TEBTaskManage/.settings/org.eclipse.wst.common.project.facet.core.xml new file mode 100644 index 00000000..e4e9b7c0 --- /dev/null +++ b/TEBTaskManage/.settings/org.eclipse.wst.common.project.facet.core.xml @@ -0,0 +1,4 @@ + + + + diff --git a/TEBTaskManage/src/Class/Function.java b/TEBTaskManage/src/Class/Function.java new file mode 100644 index 00000000..bd8e5c82 --- /dev/null +++ b/TEBTaskManage/src/Class/Function.java @@ -0,0 +1,347 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Class; + +import java.io.IOException; +import java.util.List; +import java.util.HashMap; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.JDOHelper; +import javax.jdo.PersistenceManager; +import javax.jdo.PersistenceManagerFactory; +import javax.jdo.Query; +import Servlet.*; + +import org.apache.jasper.tagplugins.jstl.core.Out; + +import java.io.IOException; +import java.io.PrintWriter; + + +import com.google.appengine.api.datastore.DatastoreService; +import com.google.appengine.api.datastore.DatastoreServiceFactory; + +/** + * + * @author ASUS + */ +public class Function { + + public Function() { + } + + public HashMap GetUser(String username){ + try { + HashMap user = new HashMap(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select from "+User.class.getName()+ " where username =='"+username+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + for (User s : result) { + user.put("username", s.username); + user.put("password", s.password); + user.put("fullname", s.fullname); + user.put("birthday", s.birthday); + user.put("email", s.email); + user.put("join", s.join); + user.put("aboutme", s.aboutme); + user.put("avatar", s.avatar); + } + } + return user; + } catch (Exception e) { + System.out.println(e.toString()); + return null; + } + } + + public HashMap GetTask(String taskId){ + try { + HashMap task = new HashMap(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select from "+Task.class.getName()+ " where taskid =='"+taskId+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + for (Task s : result) { + task.put("taskid", String.valueOf(s.taskid)); + task.put("taskname", s.taskname); + task.put("username", s.username); + task.put("createddate", s.createdate); + task.put("deadline", s.deadline); + task.put("status", s.status); + task.put("categoryid", String.valueOf(s.categoryid)); + } + } + return task; + } catch (Exception e) { + System.out.println(e.toString()); + return null; + } + } + + public HashMap GetTag(String tagId){ + try { + HashMap tag = new HashMap(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select from "+Tag.class.getName()+ " where taskid =='"+tagId+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + for (Tag s : result) { + tag.put("tagid", String.valueOf(s.tagid)); + tag.put("tagname", s.tagname); + } + } + return tag; + } catch (Exception e) { + System.out.println(e.toString()); + return null; + } + } + + public int GetTypeFile(String fileName){ + int beginIndex = fileName.length() - 3; + String extension = fileName.substring(beginIndex).toLowerCase(); + System.out.println(fileName); + System.out.println(extension); + if(extension.equals("jpg") || extension.equals("png")){ + return 0; + }else if(extension.equals("mp4")){ + return 1; + }else{ + return 2; + } + } + + public String GetNComment(String taskId){ + try { + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select from "+Comment.class.getName()+" where taskid =='"+taskId+"'"); + List result = (List)q.execute(); + int n = result.size(); + q.closeAll(); + pm.close(); + return n+""; + } catch (Exception exc) { + System.out.println(exc.toString()); + return "Error : "+exc.toString(); + } + } + + public String getCategoryName(String categoryid) + { + String toOut =""; + try{ + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select categoryname from "+Category.class.getName()+" where categoryid =='"+categoryid+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + toOut = result.get(0); + } + q.closeAll(); + pm.close(); + } + catch(Exception e){ + } + return toOut; + } + + public String getTaskId(String taskname,String categoryid){ + String toOut =""; + try{ + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select taskid from "+Task.class.getName()+" where taskname =='"+taskname+"' and categoryid =='"+categoryid+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + toOut = result.get(0); + } + q.closeAll(); + pm.close(); + }catch(Exception e){ + } + return toOut; + } + + public boolean isAssignee(String useractive,String taskid){ + boolean rs = false; + try{ + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select from "+Assignee.class.getName()+" where username =='"+useractive+"' and taskid =="+taskid+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + rs = true; + } + q.closeAll(); + pm.close(); + }catch(Exception e){ + + } + return rs; + } + + public String getTagname(String tagid){ + String toOut =""; + try{ + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select tagname from "+Tag.class.getName()+" where tagid='"+tagid+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + toOut = result.get(0); + } + q.closeAll(); + pm.close(); + }catch(Exception e){ + } + return toOut; + } + + public boolean isResponsibility(String categoryid, String useractive){ + boolean rs = false; + try{ + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select from "+Responsibility.class.getName()+" where categoryid =='"+categoryid+"' and username='"+useractive+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + rs = true; + } + q.closeAll(); + pm.close(); + }catch(Exception e){ + } + return rs; + } + + public String getNextCommentId(){ + int maxId = 0; + try { + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select commentid from "+Comment.class.getName()); + List result = (List)q.execute(); + if (!result.isEmpty()) { + for (String s : result) { + if (maxId < Integer.parseInt(s)) { + maxId = Integer.parseInt(s); + } + } + } + q.closeAll(); + pm.close(); + maxId++; + return maxId+""; + } catch (Exception exc) { + System.out.println(exc.toString()); + return ""+0; + } + } + + + public String GetTagId(String tagname){ + int maxId = 0; + try { + PersistenceManager pm = PMF.get().getPersistenceManager(); + String tagid = ""; + if (IsTagExist(tagname)){ + Query q = pm.newQuery("select tagid from "+Tag.class.getName()+" where tagname =='"+tagname+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + tagid = result.get(0); + } + q.closeAll(); + pm.close(); + return tagid; + }else{ + Query q = pm.newQuery("select tagid from "+Tag.class.getName()); + List result = (List)q.execute(); + if (!result.isEmpty()) { + for (String s : result) { + if (maxId < Integer.parseInt(s)) { + maxId = Integer.parseInt(s); + } + } + } + q.closeAll(); + maxId++; + + Tag tag = new Tag(maxId, tagname); + try { + pm.makePersistent(tag); + } catch (Exception e) { + + } finally { + pm.close(); + } + + return GetTagId(tagname); + } + } catch (Exception ex) { + return "Error : "+ex.toString(); + } + } + + public boolean IsTagExist(String tagname){ + boolean bool = false; + try { + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select tagid from "+Tag.class.getName()+" where tagname =='"+tagname+"'"); + List result = (List)q.execute(); + if (!result.isEmpty()) { + bool = true; + } + q.closeAll(); + pm.close(); + } catch (Exception ex) { + return false; + } + return bool; + } + + public String GetNextCategoryId() throws Exception{ + String toOut = ""; + try { + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select categoryid from "+Category.class.getName()); + List result = (List)q.execute(); + int maxId = 0; + if (!result.isEmpty()) { + for (String s : result) { + if (maxId < Integer.parseInt(s)) { + maxId = Integer.parseInt(s) + 1; + } + } + } + q.closeAll(); + pm.close(); + toOut = maxId+""; + } catch (Exception ex) { + + } + return toOut; + } + + public String GetNextTaskId() throws Exception{ + String toOut = ""; + try { + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select taskid from "+Task.class.getName()); + List result = (List)q.execute(); + int maxId = 0; + if (!result.isEmpty()) { + for (String s : result) { + if (maxId < Integer.parseInt(s)) { + maxId = Integer.parseInt(s) + 1; + } + } + } + q.closeAll(); + pm.close(); + toOut = maxId+""; + } catch (Exception ex) { + + } + return toOut; + } +} \ No newline at end of file diff --git a/TEBTaskManage/src/META-INF/jdoconfig.xml b/TEBTaskManage/src/META-INF/jdoconfig.xml new file mode 100644 index 00000000..99664739 --- /dev/null +++ b/TEBTaskManage/src/META-INF/jdoconfig.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/TEBTaskManage/src/META-INF/persistence.xml b/TEBTaskManage/src/META-INF/persistence.xml new file mode 100644 index 00000000..55dc331f --- /dev/null +++ b/TEBTaskManage/src/META-INF/persistence.xml @@ -0,0 +1,15 @@ + + + + + org.datanucleus.api.jpa.PersistenceProviderImpl + + + + + + + diff --git a/TEBTaskManage/src/Servlet/AmbilIsiDatabase.java b/TEBTaskManage/src/Servlet/AmbilIsiDatabase.java new file mode 100644 index 00000000..e88e7209 --- /dev/null +++ b/TEBTaskManage/src/Servlet/AmbilIsiDatabase.java @@ -0,0 +1,43 @@ +package Servlet; + +import java.io.IOException; +import java.util.List; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.JDOHelper; +import javax.jdo.PersistenceManager; +import javax.jdo.PersistenceManagerFactory; +import javax.jdo.Query; + +import org.apache.jasper.tagplugins.jstl.core.Out; + +import java.io.IOException; +import java.io.PrintWriter; + + +import com.google.appengine.api.datastore.DatastoreService; +import com.google.appengine.api.datastore.DatastoreServiceFactory; + +@SuppressWarnings("serial") +public class AmbilIsiDatabase extends HttpServlet { + public void doGet(HttpServletRequest req, HttpServletResponse resp) + throws IOException { + PrintWriter out = resp.getWriter(); + + DatastoreService iseng = DatastoreServiceFactory.getDatastoreService(); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q = pm.newQuery("select name from "+User.class.getName()); + + List result = (List)q.execute(); + + for (String s : result) { + out.println(s); + } + q.closeAll(); + pm.close(); + } +} diff --git a/TEBTaskManage/src/Servlet/Assignee.java b/TEBTaskManage/src/Servlet/Assignee.java new file mode 100644 index 00000000..adfb729b --- /dev/null +++ b/TEBTaskManage/src/Servlet/Assignee.java @@ -0,0 +1,23 @@ +package Servlet; + +import java.util.*; +import com.google.appengine.api.datastore.*; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; + +@PersistenceCapable +public class Assignee { + @Persistent + public String username; + + @Persistent + public int taskid; + + public Assignee(String username, int taskid) { + this.username = username; + this.taskid = taskid; + + } +} diff --git a/TEBTaskManage/src/Servlet/Attachment.java b/TEBTaskManage/src/Servlet/Attachment.java new file mode 100644 index 00000000..b663287f --- /dev/null +++ b/TEBTaskManage/src/Servlet/Attachment.java @@ -0,0 +1,23 @@ +package Servlet; + +import java.util.*; +import com.google.appengine.api.datastore.*; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; + +@PersistenceCapable +public class Attachment { + @Persistent + public String filename; + + @Persistent + public int taskid; + + public Attachment(String filename, int taskid) { + this.filename = filename; + this.taskid = taskid; + + } +} diff --git a/TEBTaskManage/src/Servlet/Category.java b/TEBTaskManage/src/Servlet/Category.java new file mode 100644 index 00000000..f3f74431 --- /dev/null +++ b/TEBTaskManage/src/Servlet/Category.java @@ -0,0 +1,31 @@ +package Servlet; + +import java.util.*; +import com.google.appengine.api.datastore.*; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; + +@PersistenceCapable +public class Category { + @PrimaryKey + @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) + public int categoryid; + + @Persistent + public String categoryname; + + @Persistent + public String username; + + @Persistent + public Date createdate; + + public Category(int categoryid, String categoryname, String username, Date createdate) { + this.categoryid = categoryid; + this.categoryname = categoryname; + this.username = username; + this.createdate = createdate; + } +} diff --git a/TEBTaskManage/src/Servlet/Comment.java b/TEBTaskManage/src/Servlet/Comment.java new file mode 100644 index 00000000..5428348e --- /dev/null +++ b/TEBTaskManage/src/Servlet/Comment.java @@ -0,0 +1,35 @@ +package Servlet; + +import java.util.*; +import com.google.appengine.api.datastore.*; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; + +@PersistenceCapable +public class Comment { + @PrimaryKey + @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) + public int commentid; + + @Persistent + public String createdate; + + @Persistent + public String message; + + @Persistent + public String username; + + @Persistent + public int taskid; + + public Comment(int commentid, String createdate, String message, String username, int taskid) { + this.commentid = commentid; + this.createdate = createdate; + this.message = message; + this.username = username; + this.taskid = taskid; + } +} diff --git a/TEBTaskManage/src/Servlet/PMF.java b/TEBTaskManage/src/Servlet/PMF.java new file mode 100644 index 00000000..d4070ae0 --- /dev/null +++ b/TEBTaskManage/src/Servlet/PMF.java @@ -0,0 +1,16 @@ +package Servlet; + +import javax.jdo.JDOHelper; +import javax.jdo.PersistenceManagerFactory; + + +public class PMF { + private static final PersistenceManagerFactory pmfInstance = + JDOHelper.getPersistenceManagerFactory("transactions-optional"); + + private PMF() {} + + public static PersistenceManagerFactory get() { + return pmfInstance; + } +} diff --git a/TEBTaskManage/src/Servlet/Responsibility.java b/TEBTaskManage/src/Servlet/Responsibility.java new file mode 100644 index 00000000..a2f37afe --- /dev/null +++ b/TEBTaskManage/src/Servlet/Responsibility.java @@ -0,0 +1,23 @@ +package Servlet; + +import java.util.*; +import com.google.appengine.api.datastore.*; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; + +@PersistenceCapable +public class Responsibility { + @Persistent + public String username; + + @Persistent + public int categoryid; + + public Responsibility(String username, int categoryid) { + this.username = username; + this.categoryid = categoryid; + + } +} diff --git a/TEBTaskManage/src/Servlet/Tag.java b/TEBTaskManage/src/Servlet/Tag.java new file mode 100644 index 00000000..c9026034 --- /dev/null +++ b/TEBTaskManage/src/Servlet/Tag.java @@ -0,0 +1,24 @@ +package Servlet; + +import java.util.*; +import com.google.appengine.api.datastore.*; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; + +@PersistenceCapable +public class Tag { + @PrimaryKey + @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) + public int tagid; + + @Persistent + public String tagname; + + public Tag(int tagid, String tagname) { + this.tagid = tagid; + this.tagname = tagname; + + } +} diff --git a/TEBTaskManage/src/Servlet/Task.java b/TEBTaskManage/src/Servlet/Task.java new file mode 100644 index 00000000..ca5ef844 --- /dev/null +++ b/TEBTaskManage/src/Servlet/Task.java @@ -0,0 +1,43 @@ +package Servlet; + +import java.util.*; +import com.google.appengine.api.datastore.*; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; + +@PersistenceCapable +public class Task { + @PrimaryKey + @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) + public int taskid; + + @Persistent + public String taskname; + + @Persistent + public String username; + + @Persistent + public String createdate; + + @Persistent + public String deadline; + + @Persistent + public String status; + + @Persistent + public int categoryid; + + public Task(int taskid, String taskname, String username, String createdate, String deadline, String status, int categoryid) { + this.taskid = taskid; + this.taskname = taskname; + this.username = username; + this.createdate = createdate; + this.deadline = deadline; + this.status = status; + this.categoryid = categoryid; + } +} diff --git a/TEBTaskManage/src/Servlet/Task_Tag.java b/TEBTaskManage/src/Servlet/Task_Tag.java new file mode 100644 index 00000000..e37bea3b --- /dev/null +++ b/TEBTaskManage/src/Servlet/Task_Tag.java @@ -0,0 +1,23 @@ +package Servlet; + +import java.util.*; +import com.google.appengine.api.datastore.*; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; + +@PersistenceCapable +public class Task_Tag { + @Persistent + public int taskid; + + @Persistent + public int tagid; + + public Task_Tag(int taskid, int tagid) { + this.taskid = taskid; + this.tagid = tagid; + + } +} diff --git a/TEBTaskManage/src/Servlet/User.java b/TEBTaskManage/src/Servlet/User.java new file mode 100644 index 00000000..b11fbc8f --- /dev/null +++ b/TEBTaskManage/src/Servlet/User.java @@ -0,0 +1,47 @@ +package Servlet; + +import java.util.*; +import com.google.appengine.api.datastore.*; +import javax.jdo.annotations.IdGeneratorStrategy; +import javax.jdo.annotations.PersistenceCapable; +import javax.jdo.annotations.Persistent; +import javax.jdo.annotations.PrimaryKey; + +@PersistenceCapable +public class User { + @PrimaryKey + @Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY) + public String username; + + @Persistent + public String password; + + @Persistent + public String fullname; + + @Persistent + public String birthday; + + @Persistent + public String email; + + @Persistent + public String join; + + @Persistent + public String aboutme; + + @Persistent + public String avatar; + + public User(String username, String password, String fullname, String birthday, String email, String join, String aboutme, String avatar) { + this.username = username; + this.password = password; + this.fullname = fullname; + this.birthday = birthday; + this.email = email; + this.join = join; + this.aboutme = aboutme; + this.avatar = avatar; + } +} diff --git a/TEBTaskManage/src/Servlet/autocompleteasignee.java b/TEBTaskManage/src/Servlet/autocompleteasignee.java new file mode 100644 index 00000000..ac895cf2 --- /dev/null +++ b/TEBTaskManage/src/Servlet/autocompleteasignee.java @@ -0,0 +1,99 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.File; +import java.io.PrintWriter; +import java.util.List; +import java.util.Iterator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +public class autocompleteasignee extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + String asignee = request.getParameter("asignee"); + String [] asigneepieces = asignee.split(","); + List result; + + if(asigneepieces[(asigneepieces.length)-1]!=""){ + String tosearch = asigneepieces[(asigneepieces.length)-1]; + Query q = pm.newQuery("SELECT username FROM " + User.class.getName() + " WHERE username LIKE '%" + tosearch + "%'"); + result = (List) q.execute(); + Iterator iter = result.iterator(); + while(iter.hasNext()){ + out.print(iter.next()+"|"); + } + q.closeAll(); + } + + pm.close(); + } catch(Exception exc){ + System.out.println("Error : "+exc.toString()); + }finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/changedeadline.java b/TEBTaskManage/src/Servlet/changedeadline.java new file mode 100644 index 00000000..5cae30e8 --- /dev/null +++ b/TEBTaskManage/src/Servlet/changedeadline.java @@ -0,0 +1,97 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.File; +import java.io.PrintWriter; +import java.util.List; +import java.util.Iterator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +public class changedeadline extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + /* TODO output your page here. You may use following sample code. */ + String deadlinetime = request.getParameter("deadlinetime")+":00"; + String taskid = request.getParameter("taskid"); + + Query q = pm.newQuery(Task.class); + q.setFilter("taskid == param"); + q.declareParameters("int param"); + + Task task = (Task) q.execute(taskid); + task.deadline = deadlinetime; + + out.print("Deadline : "+deadlinetime); + q.closeAll(); + pm.close(); + } catch(Exception exc){ + System.out.println("Error : "+exc.toString()); + }finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/changepassword.java b/TEBTaskManage/src/Servlet/changepassword.java new file mode 100644 index 00000000..3194e201 --- /dev/null +++ b/TEBTaskManage/src/Servlet/changepassword.java @@ -0,0 +1,96 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.File; +import java.io.PrintWriter; +import java.util.List; +import java.util.Iterator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +public class changepassword extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + String newpass = request.getParameter("newpass"); + String userid = request.getParameter("userid"); + + Query q = pm.newQuery(User.class); + q.setFilter("username == param"); + q.declareParameters("int param"); + + User user = (User) q.execute(userid); + user.password = newpass; + + System.out.println("Succes Update"); + q.closeAll(); + pm.close(); + }catch(Exception ex){ + System.out.println(ex.toString()); + } finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/checkavailemail.java b/TEBTaskManage/src/Servlet/checkavailemail.java new file mode 100644 index 00000000..0026c9f3 --- /dev/null +++ b/TEBTaskManage/src/Servlet/checkavailemail.java @@ -0,0 +1,95 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.File; +import java.io.PrintWriter; +import java.util.List; +import java.util.Iterator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +public class checkavailemail extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + String emailinput = request.getParameter("emailinput"); + + Query q = pm.newQuery("SELECT FROM " + User.class.getName() + " WHERE email == '" + emailinput +"'"); + List rs = (List) q.execute(); + + if(rs.isEmpty()){ + out.print(""); + }else{ + out.print("Email already exist, please try another email"); + } + q.closeAll(); + pm.close(); + } catch (Exception ex) { + out.print(ex.toString()); + } finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/checkavailid.java b/TEBTaskManage/src/Servlet/checkavailid.java new file mode 100644 index 00000000..cc3805eb --- /dev/null +++ b/TEBTaskManage/src/Servlet/checkavailid.java @@ -0,0 +1,96 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.File; +import java.io.PrintWriter; +import java.util.List; +import java.util.Iterator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +import java.sql.Statement; +public class checkavailid extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + String idinput = request.getParameter("idinput"); + + Query q = pm.newQuery("SELECT FROM " + User.class.getName() + " WHERE username == '" + idinput +"'"); + List rs = (List) q.execute(); + + if(rs.isEmpty()){ + out.print(""); + }else{ + out.print("Username already exist, please try another username"); + } + q.closeAll(); + pm.close(); + } catch (Exception ex) { + out.print(ex.toString()); + } finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/checkidexistence.java b/TEBTaskManage/src/Servlet/checkidexistence.java new file mode 100644 index 00000000..9e6c4ef7 --- /dev/null +++ b/TEBTaskManage/src/Servlet/checkidexistence.java @@ -0,0 +1,100 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.File; +import java.io.PrintWriter; +import java.util.List; +import java.util.Iterator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +/** + * + * @author ASUS + */ +public class checkidexistence extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + String username = request.getParameter("id"); + String pass = request.getParameter("pass"); + + Query q = pm.newQuery("SELECT FROM " + User.class.getName() + " WHERE username == '" + username + "' AND password='" +pass + "'"); + List rs = (List) q.execute(); + + if(rs.isEmpty()){ + out.print("false"); + } else { + HttpSession session = request.getSession(); + session.setAttribute("userlistapp", username); + session.setMaxInactiveInterval(30*24*60*60); + //System.out.println("session : "+session.getAttribute("userlistapp")); + out.print("true"); + } + q.closeAll(); + pm.close(); + } catch(Exception exc){ + out.println("Error : "+exc.toString()); + }finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/deleteComment.java b/TEBTaskManage/src/Servlet/deleteComment.java new file mode 100644 index 00000000..dbbc0d7a --- /dev/null +++ b/TEBTaskManage/src/Servlet/deleteComment.java @@ -0,0 +1,158 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.File; +import java.io.PrintWriter; +import java.util.List; +import java.util.Iterator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +import Class.*; + +/** + * + * @author User + */ +public class deleteComment extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + Function func = new Function(); + String userActive = ""; + if(request.getSession().getAttribute("userlistapp")!=null){ + userActive = request.getSession().getAttribute("userlistapp").toString(); + } + + String commentid = request.getParameter("commentid"); + String taskid = request.getParameter("taskid"); + int index = Integer.parseInt(request.getParameter("index")); + + Query q1 = pm.newQuery(Comment.class); + q1.setFilter("commentid == param"); + q1.declareParameters("int param"); + + pm.deletePersistent((Comment) q1.execute(commentid)); + + int numpage; + if (Integer.parseInt(func.GetNComment(taskid))%5 == 0) { + numpage = (Integer.parseInt(func.GetNComment(taskid))/5); + } + else { + numpage = (Integer.parseInt(func.GetNComment(taskid))/5)+1; + } + + Query q2 = pm.newQuery("SELECT FROM " + Comment.class.getName() + " WHERE taskid == " + taskid + " limit " + index + ",5"); + List result = (List) q2.execute(); + + out.print("

"+func.GetNComment(taskid) +" Comment

"); + out.print("
"); + + Iterator iterator = result.iterator(); + while(iterator.hasNext()){ + out.print("
"); + out.print("
"); + out.print("
"); + out.print(" "); + out.print("
"); + out.print("
"); + out.print(" "+iterator.next().username +""); + out.print("
"); + out.print(" Post at "+iterator.next().createdate +""); + out.print("
"); + out.print("
"); + if(iterator.next().username.equals(userActive)){ + out.print("Delete Comment"); + } + out.print("
"); + out.print("
"); + out.print("
"); + out.print("

"); + out.print(iterator.next().message); + out.print("

"); + out.print("
"); + out.print("
"); + } + out.print("
"); + if (index == 0) { + if (numpage > 1) { + out.print(" Next"); + } + } + else if (index == (numpage*5)-5) { + out.print(" Prev"); + } + else { + out.print(" Prev"); + out.print(" -- "); + out.print(" Next"); + } + + q1.closeAll(); + q2.closeAll(); + pm.close(); + + } catch(Exception exc){ + System.out.println(exc.toString()); + }finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }//
+} diff --git a/TEBTaskManage/src/Servlet/deletecategory.java b/TEBTaskManage/src/Servlet/deletecategory.java new file mode 100644 index 00000000..e0da172b --- /dev/null +++ b/TEBTaskManage/src/Servlet/deletecategory.java @@ -0,0 +1,91 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +public class deletecategory extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + String categoryid = request.getParameter("id"); + + Query q1 = pm.newQuery(Category.class); + q1.setFilter("categoryid == param"); + q1.declareParameters("int param"); + + pm.deletePersistent((Category) q1.execute(categoryid)); + + response.sendRedirect("dashboard.jsp"); + + q1.closeAll(); + pm.close(); + } catch(Exception e){ + } finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/deletetask.java b/TEBTaskManage/src/Servlet/deletetask.java new file mode 100644 index 00000000..77abe3b3 --- /dev/null +++ b/TEBTaskManage/src/Servlet/deletetask.java @@ -0,0 +1,107 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.File; +import java.io.PrintWriter; +import java.util.List; +import java.util.Iterator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +public class deletetask extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + /* TODO output your page here. You may use following sample code. */ + String taskid = request.getParameter("taskid"); + Query q1 = pm.newQuery("SELECT filename FROM " + Attachment.class.getName() + " WHERE taskid=" + taskid); + List result = (List) q1.execute(); + + Iterator iterator = result.iterator(); + while(iterator.hasNext()){ + String realPath = request.getRealPath("attachment"); + String filename = realPath + "/" + iterator.next(); + File n = new File(filename); + n.delete(); + } + + Query q2 = pm.newQuery(Task.class); + q2.setFilter("taskid == param"); + q2.declareParameters("int param"); + + pm.deletePersistent((Task) q2.execute(taskid)); + + q1.closeAll(); + q2.closeAll(); + pm.close(); + + response.sendRedirect("dashboard.jsp"); + } catch(Exception e) { + System.out.println(e.toString()); + } finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/getavatar.java b/TEBTaskManage/src/Servlet/getavatar.java new file mode 100644 index 00000000..e1ded740 --- /dev/null +++ b/TEBTaskManage/src/Servlet/getavatar.java @@ -0,0 +1,141 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import Class.Function; +import java.io.File; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.Statement; +import java.util.HashMap; +import java.util.Iterator; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author User + */ +public class getavatar extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { +// /* TODO output your page here. You may use following sample code. */ +// Boolean isMultipartContent = ServletFileUpload.isMultipartContent(request); +// if(!isMultipartContent){ +// out.print("you not gona upload file!!"); +// return; +// }else{ +// out.print("you try to upload file!!"); +// } +// +// String userActive = ""; +// if(request.getSession().getAttribute("userlistapp")!=null){ +// userActive = request.getSession().getAttribute("userlistapp").toString(); +// } +// FileItemFactory factory = new DiskFileItemFactory(); +// ServletFileUpload upload = new ServletFileUpload(factory); +// List fields = upload.parseRequest(request); +// out.println("Number of fields: " + fields.size()); +// Iterator it = fields.iterator(); +// if (!it.hasNext()) { +// out.println("No fields found"); +// return; +// } +// while (it.hasNext()) { +// FileItem fileItem = it.next(); +// boolean isFormField = fileItem.isFormField(); +// if (!isFormField) { +// String fileName = fileItem.getName().toString(); +// int index = fileName.lastIndexOf('.') + 1; +// String extension = fileName.substring(index).toLowerCase(); +// String avatar = userActive+"."+extension; +// +// byte [] arByte = fileItem.get(); +// String dir = request.getRealPath("avatar"); +// HashMap user = (new Function()).GetUser(userActive); +// File fileAva = new File(dir+"/"+user.get("avatar")); +// fileAva.delete(); +// +// FileOutputStream fileOutStream = new FileOutputStream(dir+"/"+avatar); +// fileOutStream.write(arByte); +// fileOutStream.close(); +// +// GetConnection connection = new GetConnection(); +// Connection conn = connection.getConnection(); +// Statement stmt = conn.createStatement(); +// String query = "update user set avatar='"+avatar+"' where username='"+userActive+"'"; +// stmt.execute(query); +// conn.close(); +// } +// } +// +// response.sendRedirect("profile.jsp?username="+userActive); + } catch(Exception exc){ + System.out.println("ERROR : "+exc.toString()+"<<<<<<<<<<<<<<<<<<<<<<<<<<<<"); + }finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/headervalidation.java b/TEBTaskManage/src/Servlet/headervalidation.java new file mode 100644 index 00000000..2ad3d722 --- /dev/null +++ b/TEBTaskManage/src/Servlet/headervalidation.java @@ -0,0 +1,189 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.File; +import java.io.PrintWriter; +import java.util.List; +import java.util.Iterator; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +public class headervalidation extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + PersistenceManager pm = PMF.get().getPersistenceManager(); + try { + /* TODO output your page here. You may use following sample code. */ + + String content = request.getParameter("content"); + int mode = Integer.parseInt(request.getParameter("idx")); + int filter = Integer.parseInt(request.getParameter("filter")); + + List rs; + Query q; + switch(mode) { + case 1: + String result = ""; + + q = pm.newQuery("SELECT username FROM " + User.class.getName() + " WHERE username LIKE '%" + content + "%'"); + rs = (List) q.execute(); + Iterator it1 = rs.iterator(); + while(it1.hasNext()){ + result += it1.next()+"|"; + } + + q = pm.newQuery("SELECT categoryname FROM " + Category.class.getName() + " WHERE categoryname LIKE '%" + content + "%'"); + rs = (List) q.execute(); + Iterator it2 = rs.iterator(); + while(it2.hasNext()){ + result += it2.next()+"|"; + } + + q = pm.newQuery("SELECT taskname FROM " + Task.class.getName() + " WHERE taskname LIKE '%" + content + "%'"); + rs = (List) q.execute(); + Iterator it3 = rs.iterator(); + while(it3.hasNext()){ + result += it3.next()+"|"; + } + + System.out.println(result); + out.print(result); + q.closeAll(); + break; + + case 2: + switch (filter) { + case 1: + q = pm.newQuery("SELECT username FROM " + User.class.getName() + " WHERE username LIKE '%" + content + "%'"); + rs = (List) q.execute(); + Iterator it4 = rs.iterator(); + while(it4.hasNext()){ + out.print(it4.next()+"|"); + } + q.closeAll(); + break; + + case 2: + q = pm.newQuery("SELECT email FROM " + User.class.getName() + " WHERE email LIKE '%" + content + "%'"); + rs = (List) q.execute(); + Iterator it5 = rs.iterator(); + while(it5.hasNext()){ + out.print(it5.next()+"|"); + } + q.closeAll(); + break; + + case 3: + q = pm.newQuery("SELECT fullname FROM " + User.class.getName() + " WHERE fullname LIKE '%" + content + "%'"); + rs = (List) q.execute(); + Iterator it6 = rs.iterator(); + while(it6.hasNext()){ + out.print(it6.next()+"|"); + } + q.closeAll(); + break; + + case 4: + q = pm.newQuery("SELECT birthday FROM " + User.class.getName() + " WHERE birthday LIKE '%" + content + "%'"); + rs = (List) q.execute(); + Iterator it7 = rs.iterator(); + while(it7.hasNext()){ + out.print(it7.next()+"|"); + } + q.closeAll(); + break; + + } + break; + case 3: + q = pm.newQuery("SELECT categoryname FROM " + Category.class.getName() + " WHERE categoryname LIKE '%" + content + "%'"); + rs = (List) q.execute(); + Iterator it8 = rs.iterator(); + while(it8.hasNext()){ + out.print(it8.next()+"|"); + } + q.closeAll(); + break; + + case 4: + q = pm.newQuery("SELECT taskname FROM " + Task.class.getName() + " WHERE taskname LIKE '%" + content + "%'"); + rs = (List) q.execute(); + Iterator it9 = rs.iterator(); + while(it9.hasNext()){ + out.print(it9.next()+"|"); + } + q.closeAll(); + break; + + } + + pm.close(); + + } catch(Exception exc){ + System.out.println("Error : "+exc.toString()); + }finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/insertcategory.java b/TEBTaskManage/src/Servlet/insertcategory.java new file mode 100644 index 00000000..3dee5c84 --- /dev/null +++ b/TEBTaskManage/src/Servlet/insertcategory.java @@ -0,0 +1,136 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import java.util.List; +import java.util.Date; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.ServletException; +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +import com.google.appengine.api.datastore.DatastoreService; +import com.google.appengine.api.datastore.DatastoreServiceFactory; + +/** + * + * @author User + */ +@SuppressWarnings("serial") +public class insertcategory extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + doPost(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + PrintWriter out = response.getWriter(); + + DatastoreService iseng = DatastoreServiceFactory.getDatastoreService(); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + try { + + String username = request.getParameter("username"); + + String namecategory = request.getParameter("newCategory");//$_POST['newCategory']; + String listAssignee = request.getParameter("listAssignee");//$_POST['listAssignee']; + + Date dateFormat = new Date(); + Date date = new Date(); + String [] Assignee = listAssignee.split(","); + + // insert categori + Category cat = new Category(1, namecategory, username, date); + try { + pm.makePersistent(cat); + } + catch (Exception e) { + out.print("Data Insert FAIL"); + } finally { + + } + + Query q = pm.newQuery("select categoryid from "+Category.class.getName()); + List result = (List)q.execute(); + for (String s : result) { + Responsibility res = new Responsibility(username, Integer.parseInt(s)); + try { + pm.makePersistent(res); + } + catch (Exception e) { + out.print("Data Insert FAIL (2)"); + } finally { + + } + // insert assigne + for(int i = 0; i < Assignee.length ; i++){ + Responsibility res2 = new Responsibility(Assignee[i], Integer.parseInt(s)); + try { + pm.makePersistent(res2); + } + catch (Exception e) { + out.print("Data Insert FAIL (2)"); + } finally { + + } + } + } + q.closeAll(); + pm.close(); + + } catch(Exception exc){ + System.out.println(exc.toString()); + }finally { + out.close(); + } + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/inserttask.java b/TEBTaskManage/src/Servlet/inserttask.java new file mode 100644 index 00000000..1a657d19 --- /dev/null +++ b/TEBTaskManage/src/Servlet/inserttask.java @@ -0,0 +1,201 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import Class.Function; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.Statement; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author User + */ +public class inserttask extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { +// Boolean isMultipartContent = ServletFileUpload.isMultipartContent(request); +// if(!isMultipartContent){ +// out.print("you not gona upload file!!"); +// }else{ +// out.print("you try to upload file!!"); +// } +// +// String taskName = ""; +// String deadline = ""; +// String timeDeadline = ""; +// String listAssignee = ""; +// String listTag = ""; +// String taskId = (new Function()).GetNextTaskId(); +// String userActive = ""; +// String categoryId = request.getParameter("categoryid"); +// +// if(request.getSession().getAttribute("userlistapp")!=null){ +// userActive = request.getSession().getAttribute("userlistapp").toString(); +// } +// +// DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); +// Date date = new Date(); +// String createdDateTime = dateFormat.format(date); +// +// +// GetConnection getCon = new GetConnection(); +// Connection conn = getCon.getConnection(); +// String query = "INSERT INTO `task` " + +// "(`taskid`, `taskname`, `username`, `createddate`, `deadline`, `status`, `categoryid`) VALUES "+ +// "("+taskId+", 'aaa', '"+userActive+"', '1111-11-11 11:11:11', '1111-11-11 11:11:11', 'UNCOMPLETE', "+categoryId+")"; +// Statement stt = conn.createStatement(); +// stt.execute(query); +// +// FileItemFactory factory = new DiskFileItemFactory(); +// ServletFileUpload upload = new ServletFileUpload(factory); +// List fields = upload.parseRequest(request); +// out.println("Number of fields: " + fields.size()); +// Iterator it = fields.iterator(); +// if (!it.hasNext()) { +// out.println("No fields found"); +// return; +// } +// while (it.hasNext()) { +// FileItem fileItem = it.next(); +// boolean isFormField = fileItem.isFormField(); +// if (isFormField) { +// out.print("
"+fileItem.getFieldName()+" : "+fileItem.getString()); +// if(fileItem.getFieldName().toString().equals("textTaskName")) +// taskName = fileItem.getString(); +// else if(fileItem.getFieldName().toString().equals("textDeadline")) +// deadline = fileItem.getString(); +// else if(fileItem.getFieldName().toString().equals("textTimeDeadline")) +// timeDeadline = fileItem.getString(); +// else if(fileItem.getFieldName().toString().equals("textAssignee")) +// listAssignee = fileItem.getString(); +// else if(fileItem.getFieldName().toString().equals("textTag")) +// listTag = fileItem.getString(); +// } else { +// String fileName = fileItem.getName().toString(); +// if(!fileName.equals("")){ +// out.print("
"+fileName); +// int index = fileName.lastIndexOf('.') + 1; +// String extension = fileName.substring(index); +// +// byte [] arByte = fileItem.get(); +// String dir = request.getRealPath("attachment"); +// FileOutputStream fileOutStream = new FileOutputStream(dir+"/"+taskId+"-"+fileName); +// fileOutStream.write(arByte); +// fileOutStream.close(); +// +// getCon = new GetConnection(); +// conn = getCon.getConnection(); +// query = "INSERT INTO `attachment` " + +// " VALUES "+ +// "('"+taskId+"-"+fileName+"',"+taskId+")"; +// stt = conn.createStatement(); +// stt.execute(query); +// } +// } +// } +// +// deadline = deadline+" "+timeDeadline+":00"; +// getCon = new GetConnection(); +// conn = getCon.getConnection(); +// query = "UPDATE `task` SET" + +// " taskname='"+taskName+"'"+ +// ",createddate='"+createdDateTime+"'"+ +// ",deadline='"+deadline+"'"+ +// " WHERE taskid="+taskId; +// System.out.println(query); +// stt = conn.createStatement(); +// stt.execute(query); +// +// query = "INSERT INTO `assignee` (`username`, `taskid`) VALUES ('"+userActive+"', "+taskId+")"; +// stt.execute(query); +// String [] assignee = listAssignee.split(","); +// for(int i = 0; i < assignee.length ; i++){ +// query = "INSERT INTO `assignee` (`username`, `taskid`) VALUES ('"+assignee[i]+"', "+taskId+")"; +// stt.execute(query); +// } +// +// String [] tag = listTag.split(","); +// for(int i = 0; i < tag.length ; i++){ +// String tagid = (new Function()).GetTagId(tag[i]); +// query = "INSERT INTO `task_tag` (`taskid`, `tagid`) VALUES ("+taskId+", "+tagid+");"; +// stt.execute(query); +// } +// +// response.sendRedirect("dashboard.jsp"); +// conn.close(); + } catch(Exception exc){ + System.out.println("Error : "+exc.toString()); + }finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/nextcomment.java b/TEBTaskManage/src/Servlet/nextcomment.java new file mode 100644 index 00000000..0fd72ed2 --- /dev/null +++ b/TEBTaskManage/src/Servlet/nextcomment.java @@ -0,0 +1,160 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import Class.*; +import java.sql.Connection; +import java.sql.Statement; +import java.sql.ResultSet; +import java.util.List; + +/** + * + * @author M.ECKY.RABANI + */ +public class nextcomment extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + Function func = new Function(); + String userActive = ""; + if(request.getSession().getAttribute("userlistapp")!=null){ + userActive = request.getSession().getAttribute("userlistapp").toString(); + } + + String taskid = request.getParameter("taskid"); + int index = Integer.parseInt(request.getParameter("index"))+5; + + int numpage; + if (Integer.parseInt(func.GetNComment(taskid))%5 == 0) { + numpage = (Integer.parseInt(func.GetNComment(taskid))/5); + } + else { + numpage = (Integer.parseInt(func.GetNComment(taskid))/5)+1; + } + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q = pm.newQuery(Comment.class); + q.setFilter("taskid == idtask"); + q.declareParameters("int idtask"); + q.setRange(index, index+5); + + List results = (List)q.execute(taskid); + + out.print("

"+func.GetNComment(taskid) +" Comment

"); + out.print("
"); + + for(Comment v : results){ + out.print("
"); + out.print("
"); + out.print("
"); + out.print(" "); + out.print("
"); + out.print("
"); + out.print(" "+v.username +""); + out.print("
"); + out.print(" Post at "+v.createdate +""); + out.print("
"); + out.print("
"); + if(v.username.equals(userActive)){ + out.print("Delete Comment"); + } + out.print("
"); + out.print("
"); + out.print("
"); + out.print("

"); + out.print(v.message); + out.print("

"); + out.print("
"); + out.print("
"); + } + out.print("
"); + if (index == 0) { + if (numpage > 1) { + out.print(" Next"); + } + } + else if (index == (numpage*5)-5) { + out.print(" Prev"); + } + else { + out.print(" Prev"); + out.print(" -- "); + out.print(" Next"); + } + q.closeAll(); + pm.close(); + } catch(Exception exc){ + System.out.println(exc.toString()); + }finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/prevcomment.java b/TEBTaskManage/src/Servlet/prevcomment.java new file mode 100644 index 00000000..3d7424c8 --- /dev/null +++ b/TEBTaskManage/src/Servlet/prevcomment.java @@ -0,0 +1,160 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import Class.Function; +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.List; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author M.ECKY.RABANI + */ +public class prevcomment extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + Function func = new Function(); + String userActive = ""; + if(request.getSession().getAttribute("userlistapp")!=null){ + userActive = request.getSession().getAttribute("userlistapp").toString(); + } + + String taskid = request.getParameter("taskid"); + int index = Integer.parseInt(request.getParameter("index"))-5; + + int numpage; + if (Integer.parseInt(func.GetNComment(taskid))%5 == 0) { + numpage = (Integer.parseInt(func.GetNComment(taskid))/5); + } + else { + numpage = (Integer.parseInt(func.GetNComment(taskid))/5)+1; + } + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q = pm.newQuery(Comment.class); + q.setFilter("taskid == idtask"); + q.declareParameters("int idtask"); + q.setRange(index, index+5); + + List results = (List)q.execute(taskid); + + out.print("

"+func.GetNComment(taskid) +" Comment

"); + out.print("
"); + + for(Comment v : results){ + out.print("
"); + out.print("
"); + out.print("
"); + out.print(" "); + out.print("
"); + out.print("
"); + out.print(" "+v.username +""); + out.print("
"); + out.print(" Post at "+v.createdate +""); + out.print("
"); + out.print("
"); + if(v.username.equals(userActive)){ + out.print("Delete Comment"); + } + out.print("
"); + out.print("
"); + out.print("
"); + out.print("

"); + out.print(v.message); + out.print("

"); + out.print("
"); + out.print("
"); + } + out.print("
"); + if (index == 0) { + if (numpage > 1) { + out.print(" Next"); + } + } + else if (index == (numpage*5)-5) { + out.print(" Prev"); + } + else { + out.print(" Prev"); + out.print(" -- "); + out.print(" Next"); + } + q.closeAll(); + pm.close(); + } catch(Exception exc){ + System.out.println(exc.toString()); + }finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/registration.java b/TEBTaskManage/src/Servlet/registration.java new file mode 100644 index 00000000..566a212e --- /dev/null +++ b/TEBTaskManage/src/Servlet/registration.java @@ -0,0 +1,185 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.Statement; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import java.util.Iterator; +import java.util.List; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +import org.apache.commons.fileupload.FileItem; +import org.apache.commons.fileupload.FileItemFactory; +import org.apache.commons.fileupload.disk.DiskFileItemFactory; +import org.apache.commons.fileupload.servlet.ServletFileUpload; + +/** + * + * @author ASUS + */ +public class registration extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { +// Boolean isMultipartContent = ServletFileUpload.isMultipartContent(request); +// if(!isMultipartContent){ +// out.print("you not gona upload file!!"); +// return; +// }else{ +// out.print("you try to upload file!!"); +// } +// +// String username = ""; +// String password = ""; +// String fullname = ""; +// String birthday = ""; +// String email = ""; +// String avatar = ""; +// +// FileItemFactory factory = new DiskFileItemFactory(); +// ServletFileUpload upload = new ServletFileUpload(factory); +// List fields = upload.parseRequest(request); +// out.println("Number of fields: " + fields.size()); +// Iterator it = fields.iterator(); +// if (!it.hasNext()) { +// out.println("No fields found"); +// return; +// } +// while (it.hasNext()) { +// FileItem fileItem = it.next(); +// boolean isFormField = fileItem.isFormField(); +// if (isFormField) { +// out.print("
"+fileItem.getFieldName()); +// if(fileItem.getFieldName().toString().equals("textUsername")) +// username = fileItem.getString(); +// else if(fileItem.getFieldName().toString().equals("textPassword")) +// password = fileItem.getString(); +// else if(fileItem.getFieldName().toString().equals("textFullName")) +// fullname = fileItem.getString(); +// else if(fileItem.getFieldName().toString().equals("textBirthday")) +// birthday = fileItem.getString(); +// else if(fileItem.getFieldName().toString().equals("textEmail")) +// email = fileItem.getString(); +// else if(fileItem.getFieldName().toString().equals("textAvatar")) +// avatar = fileItem.getString(); +// } else { +// String fileName = fileItem.getName().toString(); +// int index = fileName.lastIndexOf('.') + 1; +// String extension = fileName.substring(index); +// avatar = username+"."+extension; +// +// byte [] arByte = fileItem.get(); +// String dir = request.getRealPath("avatar"); +// FileOutputStream fileOutStream = new FileOutputStream(dir+"/"+avatar); +// fileOutStream.write(arByte); +// fileOutStream.close(); +// } +// } +// +// out.println("
"+username); +// out.println("
"+password); +// out.println("
"+fullname); +// out.println("
"+birthday); +// out.println("
"+email); +// out.println("
"+avatar); +// +// DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); +// Date date = new Date(); +// String join = dateFormat.format(date); +// +// GetConnection getCon = new GetConnection(); +// Connection conn = getCon.getConnection(); +// String query = "INSERT INTO user VALUES ('"+username+"', '"+password+"','"+fullname+"', '"+birthday+"','"+email+"','"+join+"','telling yourself in here','"+avatar+"')"; +// Statement stt = conn.createStatement(); +// stt.execute(query); +// +// HttpSession session = request.getSession(); +// session.setAttribute("userlistapp", username); +// session.setMaxInactiveInterval(30*24*60*60); +// +// response.sendRedirect("dashboard.jsp"); +// conn.close(); + } catch (Exception exc){ + out.print("Error : "); + out.print(exc.toString()); + }finally { + out.close(); + } + } + +// private static String getFilename(Part part) { +// System.out.println("check beby check"); +// for (String cd : part.getHeader("content-disposition").split(";")) { +// if (cd.trim().startsWith("filename")) { +// String filename = cd.substring(cd.indexOf('=') + 1).trim().replace("\"", ""); +// return filename.substring(filename.lastIndexOf('/') + 1).substring(filename.lastIndexOf('\\') + 1); // MSIE fix. +// } +// } +// return null; +// } + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/signout.java b/TEBTaskManage/src/Servlet/signout.java new file mode 100644 index 00000000..e46eb3bc --- /dev/null +++ b/TEBTaskManage/src/Servlet/signout.java @@ -0,0 +1,87 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; + +/** + * + * @author User + */ +public class signout extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + HttpSession session = request.getSession(); + if(session!=null){ + session.invalidate(); + } + response.sendRedirect("index.jsp"); + } finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/updateAboutMe.java b/TEBTaskManage/src/Servlet/updateAboutMe.java new file mode 100644 index 00000000..851ab80c --- /dev/null +++ b/TEBTaskManage/src/Servlet/updateAboutMe.java @@ -0,0 +1,106 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.Statement; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +public class updateAboutMe extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + String aboutme = request.getParameter("aboutme"); + String userid = request.getParameter("userid"); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q = pm.newQuery(User.class); + q.setFilter("username == userid"); + q.declareParameters("String userid"); + + User results = (User)q.execute(userid); + results.aboutme = aboutme; + + q.closeAll(); + pm.close(); + + System.out.println("Succes Update"); + out.print(aboutme); + }catch(Exception ex){ + System.out.println(ex.toString()); + } finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/updateBirthdayProf.java b/TEBTaskManage/src/Servlet/updateBirthdayProf.java new file mode 100644 index 00000000..8fe60c4a --- /dev/null +++ b/TEBTaskManage/src/Servlet/updateBirthdayProf.java @@ -0,0 +1,108 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.Statement; +import java.text.SimpleDateFormat; + +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; + +/** + * + * @author User + */ +public class updateBirthdayProf extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + String birthday = request.getParameter("birthday"); + String userid = request.getParameter("userid"); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q = pm.newQuery(User.class); + q.setFilter("username == userid"); + q.declareParameters("String userid"); + + User results = (User)q.execute(userid); + results.birthday = birthday; + + q.closeAll(); + pm.close(); + + System.out.println("Succes Update"); + out.print(birthday); + }catch(Exception ex){ + System.out.println(ex.toString()); + } finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/updateEmailProf.java b/TEBTaskManage/src/Servlet/updateEmailProf.java new file mode 100644 index 00000000..1e506ba6 --- /dev/null +++ b/TEBTaskManage/src/Servlet/updateEmailProf.java @@ -0,0 +1,105 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.Statement; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +/** + * + * @author User + */ +public class updateEmailProf extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + String email = request.getParameter("email"); + String userid = request.getParameter("userid"); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q = pm.newQuery(User.class); + q.setFilter("username == userid"); + q.declareParameters("String userid"); + + User results = (User)q.execute(userid); + results.email = email; + + q.closeAll(); + pm.close(); + + System.out.println("Succes Update"); + out.print(email); + }catch(Exception ex){ + System.out.println(ex.toString()); + } finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/updateFullNameProf.java b/TEBTaskManage/src/Servlet/updateFullNameProf.java new file mode 100644 index 00000000..72676342 --- /dev/null +++ b/TEBTaskManage/src/Servlet/updateFullNameProf.java @@ -0,0 +1,105 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.Statement; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author User + */ +public class updateFullNameProf extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + String name = request.getParameter("name"); + String userid = request.getParameter("userid"); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q = pm.newQuery(User.class); + q.setFilter("username == userid"); + q.declareParameters("String userid"); + + User results = (User)q.execute(userid); + results.fullname = name; + + q.closeAll(); + pm.close(); + + System.out.println("Succes Update"); + out.print(name); + }catch(Exception ex){ + System.out.println(ex.toString()); + } finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/updateSharedWithDB.java b/TEBTaskManage/src/Servlet/updateSharedWithDB.java new file mode 100644 index 00000000..92eff3ec --- /dev/null +++ b/TEBTaskManage/src/Servlet/updateSharedWithDB.java @@ -0,0 +1,133 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import Class.Function; +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; +import java.util.HashMap; +import java.util.List; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * + * @author User + */ +public class updateSharedWithDB extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + String listAssignee = request.getParameter("listAssigne"); + String taskid = request.getParameter("taskid"); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q = pm.newQuery(Assignee.class); + q.setFilter("taskid == idtask"); + q.declareParameters("int idtask"); + + Assignee results = (Assignee)q.execute(Integer.parseInt(taskid)); + pm.deletePersistent(results); + + String userActive = ""; + if(request.getSession().getAttribute("userlistapp")!=null){ + userActive = request.getSession().getAttribute("userlistapp").toString(); + } + + HashMap task = (new Function()).GetTask(taskid); + + Assignee a = new Assignee(task.get("username"), Integer.parseInt(taskid)); + pm.makePersistent(a); + + String [] assignee = listAssignee.split(","); + for(int i = 0; i < assignee.length ; i++){ + Assignee b = new Assignee(assignee[i], Integer.parseInt(taskid)); + pm.makePersistent(b); + } + + q = pm.newQuery("select username from " + Assignee.class.getName()); + q.setFilter("taskid == idtask"); + q.declareParameters("int idtask"); + + List result = (List)q.execute(Integer.parseInt(taskid)); + + out.print("Shared with : "); + for(String s : result){ + out.print(""+s+" "); + } + out.print(""); + q.closeAll(); + pm.close(); + } catch(Exception exc){ + System.out.println("Error : "+exc.toString()); + }finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/updateTagDB.java b/TEBTaskManage/src/Servlet/updateTagDB.java new file mode 100644 index 00000000..8fac956a --- /dev/null +++ b/TEBTaskManage/src/Servlet/updateTagDB.java @@ -0,0 +1,129 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import Class.*; +import java.util.HashMap; +import java.util.List; +/** + * + * @author User + */ +public class updateTagDB extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + Function func = new Function(); + + String listTag = request.getParameter("tag"); + String taskid = request.getParameter("taskid"); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q = pm.newQuery(Task_Tag.class); + q.setFilter("taskid == idtask"); + q.declareParameters("int idtask"); + + Task_Tag result = (Task_Tag)q.execute(taskid); + pm.deletePersistent(result); + + String [] tag = listTag.split(","); + for(int i = 0; i < tag.length ; i++){ + String tagId = func.GetTagId(tag[i]); + System.out.println(i); + System.out.println(tag[i]); + System.out.println(">>"+tagId+"<<"); + + Task_Tag t = new Task_Tag(Integer.parseInt(taskid), Integer.parseInt(tagId)); + pm.makePersistent(t); + } + + q = pm.newQuery("select tagid from " + Task_Tag.class.getName()); + q.setFilter("taskid == idtask"); + q.declareParameters("int idtask"); + + List results = (List)q.execute(Integer.parseInt(taskid)); + out.print("Tag : "); + for(Integer i : results){ + HashMap tagData = func.GetTag(i.toString()); + out.print(""+tagData.get("tagname") +" "); + } + out.print(""); + q.closeAll(); + pm.close(); + } catch(Exception exc){ + System.out.println("Error : "+exc.toString()); + }finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/Servlet/updatecomment.java b/TEBTaskManage/src/Servlet/updatecomment.java new file mode 100644 index 00000000..349e562d --- /dev/null +++ b/TEBTaskManage/src/Servlet/updatecomment.java @@ -0,0 +1,161 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import Class.Function; +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.ResultSet; +import java.sql.Statement; +import java.text.DateFormat; +import java.text.SimpleDateFormat; +import java.util.Date; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +/** + * + * @author ASUS + */ +public class updatecomment extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + Function func = new Function(); + String userActive = ""; + if(request.getSession().getAttribute("userlistapp")!=null){ + userActive = request.getSession().getAttribute("userlistapp").toString(); + } + + int commentid = Integer.parseInt(func.getNextCommentId()); + String taskid = request.getParameter("taskid"); + String comment = request.getParameter("comment"); + + DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); + Date date = new Date(); + String createdate = dateFormat.format(date); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Comment c = new Comment(commentid, createdate, comment, userActive, Integer.parseInt(taskid)); + pm.makePersistent(c); + + int numpage; + if (Integer.parseInt(func.GetNComment(taskid))%5 == 0) { + numpage = (Integer.parseInt(func.GetNComment(taskid))/5); + } + else { + numpage = (Integer.parseInt(func.GetNComment(taskid))/5)+1; + } + int index = 5*(numpage-1); + + Query q = pm.newQuery(Comment.class); + q.setFilter("taskid == idtask"); + q.declareParameters("int idtask"); + q.setRange(index, index+5); + + List results = (List)q.execute(taskid); + + out.print("

"+func.GetNComment(taskid) +" Comment

"); + out.print("
"); + + for (Comment v : results){ + out.print("
"); + out.print("
"); + out.print("
"); + out.print(" "); + out.print("
"); + out.print("
"); + out.print(" "+v.username +""); + out.print("
"); + out.print(" Post at "+v.createdate +""); + out.print("
"); + out.print("
"); + if(v.username.equals(userActive)){ + out.print("Delete Comment"); + } + out.print("
"); + out.print("
"); + out.print("
"); + out.print("

"); + out.print(v.message); + out.print("

"); + out.print("
"); + out.print("
"); + } + out.print("
"); + if (numpage > 1) { + out.print(" Prev"); + } + q.closeAll(); + pm.close(); + } catch(Exception exc){ + System.out.println(exc.toString()); + }finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} \ No newline at end of file diff --git a/TEBTaskManage/src/Servlet/updatecompletestatus.java b/TEBTaskManage/src/Servlet/updatecompletestatus.java new file mode 100644 index 00000000..85f00d25 --- /dev/null +++ b/TEBTaskManage/src/Servlet/updatecompletestatus.java @@ -0,0 +1,114 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ +package Servlet; + +import java.io.IOException; +import java.io.PrintWriter; +import java.sql.Connection; +import java.sql.Statement; +import javax.servlet.ServletException; +import javax.servlet.http.HttpServlet; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + +import javax.jdo.PersistenceManager; +import javax.jdo.Query; +/** + * + * @author User + */ +public class updatecompletestatus extends HttpServlet { + + /** + * Processes requests for both HTTP + * GET and + * POST methods. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + protected void processRequest(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + response.setContentType("text/html;charset=UTF-8"); + PrintWriter out = response.getWriter(); + try { + /* TODO output your page here. You may use following sample code. */ + String status = request.getParameter("status"); + String taskid = request.getParameter("taskid"); + + PersistenceManager pm = PMF.get().getPersistenceManager(); + + Query q; + if(status.equals("UNCOMPLETE")){ + q = pm.newQuery(Task.class); + q.setFilter("taskid == idtask"); + q.declareParameters("int idtask"); + + Task results = (Task)q.execute(taskid); + results.status = "COMPLETE"; + + out.print("COMPLETE"); + }else{ + q = pm.newQuery(Task.class); + q.setFilter("taskid == idtask"); + q.declareParameters("int idtask"); + + Task results = (Task)q.execute(taskid); + results.status = "UNCOMPLETE"; + + out.print("UNCOMPLETE"); + } + q.closeAll(); + pm.close(); + } catch(Exception e){ + }finally { + out.close(); + } + } + + // + /** + * Handles the HTTP + * GET method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doGet(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Handles the HTTP + * POST method. + * + * @param request servlet request + * @param response servlet response + * @throws ServletException if a servlet-specific error occurs + * @throws IOException if an I/O error occurs + */ + @Override + protected void doPost(HttpServletRequest request, HttpServletResponse response) + throws ServletException, IOException { + processRequest(request, response); + } + + /** + * Returns a short description of the servlet. + * + * @return a String containing servlet description + */ + @Override + public String getServletInfo() { + return "Short description"; + }// +} diff --git a/TEBTaskManage/src/log4j.properties b/TEBTaskManage/src/log4j.properties new file mode 100644 index 00000000..d9c3edc9 --- /dev/null +++ b/TEBTaskManage/src/log4j.properties @@ -0,0 +1,24 @@ +# A default log4j configuration for log4j users. +# +# To use this configuration, deploy it into your application's WEB-INF/classes +# directory. You are also encouraged to edit it as you like. + +# Configure the console as our one appender +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +# tighten logging on the DataNucleus Categories +log4j.category.DataNucleus.JDO=WARN, A1 +log4j.category.DataNucleus.Persistence=WARN, A1 +log4j.category.DataNucleus.Cache=WARN, A1 +log4j.category.DataNucleus.MetaData=WARN, A1 +log4j.category.DataNucleus.General=WARN, A1 +log4j.category.DataNucleus.Utility=WARN, A1 +log4j.category.DataNucleus.Transaction=WARN, A1 +log4j.category.DataNucleus.Datastore=WARN, A1 +log4j.category.DataNucleus.ClassLoading=WARN, A1 +log4j.category.DataNucleus.Plugin=WARN, A1 +log4j.category.DataNucleus.ValueGeneration=WARN, A1 +log4j.category.DataNucleus.Enhancer=WARN, A1 +log4j.category.DataNucleus.SchemaTool=WARN, A1 diff --git a/TEBTaskManage/war/WEB-INF/appengine-web.xml b/TEBTaskManage/war/WEB-INF/appengine-web.xml new file mode 100644 index 00000000..7770d663 --- /dev/null +++ b/TEBTaskManage/war/WEB-INF/appengine-web.xml @@ -0,0 +1,31 @@ + + + epic-todo-list + 1 + + + true + + + + + + + + + diff --git a/TEBTaskManage/war/WEB-INF/classes/Class/Function.class b/TEBTaskManage/war/WEB-INF/classes/Class/Function.class new file mode 100644 index 00000000..e54541de Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Class/Function.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/META-INF/jdoconfig.xml b/TEBTaskManage/war/WEB-INF/classes/META-INF/jdoconfig.xml new file mode 100644 index 00000000..99664739 --- /dev/null +++ b/TEBTaskManage/war/WEB-INF/classes/META-INF/jdoconfig.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + diff --git a/TEBTaskManage/war/WEB-INF/classes/META-INF/persistence.xml b/TEBTaskManage/war/WEB-INF/classes/META-INF/persistence.xml new file mode 100644 index 00000000..55dc331f --- /dev/null +++ b/TEBTaskManage/war/WEB-INF/classes/META-INF/persistence.xml @@ -0,0 +1,15 @@ + + + + + org.datanucleus.api.jpa.PersistenceProviderImpl + + + + + + + diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/AmbilIsiDatabase.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/AmbilIsiDatabase.class new file mode 100644 index 00000000..a7656e0f Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/AmbilIsiDatabase.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/Assignee.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/Assignee.class new file mode 100644 index 00000000..328dc85a Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/Assignee.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/Attachment.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/Attachment.class new file mode 100644 index 00000000..1f015cda Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/Attachment.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/Category.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/Category.class new file mode 100644 index 00000000..23bda6b6 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/Category.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/Comment.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/Comment.class new file mode 100644 index 00000000..b9f7c20a Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/Comment.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/PMF.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/PMF.class new file mode 100644 index 00000000..c7ef4cf0 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/PMF.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/Responsibility.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/Responsibility.class new file mode 100644 index 00000000..575a7e16 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/Responsibility.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/Tag.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/Tag.class new file mode 100644 index 00000000..5eb40ef6 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/Tag.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/Task.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/Task.class new file mode 100644 index 00000000..8da843b0 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/Task.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/Task_Tag.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/Task_Tag.class new file mode 100644 index 00000000..54d717f0 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/Task_Tag.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/User.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/User.class new file mode 100644 index 00000000..7c00a2bc Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/User.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/autocompleteasignee.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/autocompleteasignee.class new file mode 100644 index 00000000..43accbbc Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/autocompleteasignee.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/changedeadline.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/changedeadline.class new file mode 100644 index 00000000..e62fdbf3 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/changedeadline.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/changepassword.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/changepassword.class new file mode 100644 index 00000000..e7881178 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/changepassword.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/checkavailemail.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/checkavailemail.class new file mode 100644 index 00000000..2d1cecec Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/checkavailemail.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/checkavailid.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/checkavailid.class new file mode 100644 index 00000000..4606a036 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/checkavailid.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/checkidexistence.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/checkidexistence.class new file mode 100644 index 00000000..9ba8dd12 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/checkidexistence.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/deleteComment.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/deleteComment.class new file mode 100644 index 00000000..cd210371 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/deleteComment.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/deletecategory.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/deletecategory.class new file mode 100644 index 00000000..e507e6e8 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/deletecategory.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/deletetask.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/deletetask.class new file mode 100644 index 00000000..5bb43f41 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/deletetask.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/getavatar.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/getavatar.class new file mode 100644 index 00000000..418f61e2 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/getavatar.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/headervalidation.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/headervalidation.class new file mode 100644 index 00000000..d01fc56a Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/headervalidation.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/insertcategory.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/insertcategory.class new file mode 100644 index 00000000..a910a216 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/insertcategory.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/inserttask.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/inserttask.class new file mode 100644 index 00000000..6b98006e Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/inserttask.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/nextcomment.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/nextcomment.class new file mode 100644 index 00000000..c86b4808 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/nextcomment.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/prevcomment.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/prevcomment.class new file mode 100644 index 00000000..cbd52f2f Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/prevcomment.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/registration.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/registration.class new file mode 100644 index 00000000..41640823 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/registration.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/signout.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/signout.class new file mode 100644 index 00000000..11f16ee7 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/signout.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/updateAboutMe.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateAboutMe.class new file mode 100644 index 00000000..508c7c4e Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateAboutMe.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/updateBirthdayProf.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateBirthdayProf.class new file mode 100644 index 00000000..6a50a745 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateBirthdayProf.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/updateEmailProf.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateEmailProf.class new file mode 100644 index 00000000..9cf690d4 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateEmailProf.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/updateFullNameProf.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateFullNameProf.class new file mode 100644 index 00000000..0128c756 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateFullNameProf.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/updateSharedWithDB.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateSharedWithDB.class new file mode 100644 index 00000000..e1882592 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateSharedWithDB.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/updateTagDB.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateTagDB.class new file mode 100644 index 00000000..0fbe4425 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/updateTagDB.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/updatecomment.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/updatecomment.class new file mode 100644 index 00000000..0f428385 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/updatecomment.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/Servlet/updatecompletestatus.class b/TEBTaskManage/war/WEB-INF/classes/Servlet/updatecompletestatus.class new file mode 100644 index 00000000..7dd61055 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/classes/Servlet/updatecompletestatus.class differ diff --git a/TEBTaskManage/war/WEB-INF/classes/log4j.properties b/TEBTaskManage/war/WEB-INF/classes/log4j.properties new file mode 100644 index 00000000..d9c3edc9 --- /dev/null +++ b/TEBTaskManage/war/WEB-INF/classes/log4j.properties @@ -0,0 +1,24 @@ +# A default log4j configuration for log4j users. +# +# To use this configuration, deploy it into your application's WEB-INF/classes +# directory. You are also encouraged to edit it as you like. + +# Configure the console as our one appender +log4j.appender.A1=org.apache.log4j.ConsoleAppender +log4j.appender.A1.layout=org.apache.log4j.PatternLayout +log4j.appender.A1.layout.ConversionPattern=%d{HH:mm:ss,SSS} %-5p [%c] - %m%n + +# tighten logging on the DataNucleus Categories +log4j.category.DataNucleus.JDO=WARN, A1 +log4j.category.DataNucleus.Persistence=WARN, A1 +log4j.category.DataNucleus.Cache=WARN, A1 +log4j.category.DataNucleus.MetaData=WARN, A1 +log4j.category.DataNucleus.General=WARN, A1 +log4j.category.DataNucleus.Utility=WARN, A1 +log4j.category.DataNucleus.Transaction=WARN, A1 +log4j.category.DataNucleus.Datastore=WARN, A1 +log4j.category.DataNucleus.ClassLoading=WARN, A1 +log4j.category.DataNucleus.Plugin=WARN, A1 +log4j.category.DataNucleus.ValueGeneration=WARN, A1 +log4j.category.DataNucleus.Enhancer=WARN, A1 +log4j.category.DataNucleus.SchemaTool=WARN, A1 diff --git a/TEBTaskManage/war/WEB-INF/lib/appengine-api-1.0-sdk-1.7.7.1.jar b/TEBTaskManage/war/WEB-INF/lib/appengine-api-1.0-sdk-1.7.7.1.jar new file mode 100644 index 00000000..64e4dbca Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/appengine-api-1.0-sdk-1.7.7.1.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/appengine-api-labs.jar b/TEBTaskManage/war/WEB-INF/lib/appengine-api-labs.jar new file mode 100644 index 00000000..9d3f203e Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/appengine-api-labs.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/appengine-endpoints.jar b/TEBTaskManage/war/WEB-INF/lib/appengine-endpoints.jar new file mode 100644 index 00000000..4c9f52db Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/appengine-endpoints.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/appengine-jsr107cache-1.7.7.1.jar b/TEBTaskManage/war/WEB-INF/lib/appengine-jsr107cache-1.7.7.1.jar new file mode 100644 index 00000000..19c7db27 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/appengine-jsr107cache-1.7.7.1.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/asm-4.0.jar b/TEBTaskManage/war/WEB-INF/lib/asm-4.0.jar new file mode 100644 index 00000000..cca0d9ce Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/asm-4.0.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/datanucleus-api-jdo-3.1.3.jar b/TEBTaskManage/war/WEB-INF/lib/datanucleus-api-jdo-3.1.3.jar new file mode 100644 index 00000000..95f611a2 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/datanucleus-api-jdo-3.1.3.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/datanucleus-api-jpa-3.1.3.jar b/TEBTaskManage/war/WEB-INF/lib/datanucleus-api-jpa-3.1.3.jar new file mode 100644 index 00000000..581c7365 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/datanucleus-api-jpa-3.1.3.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/datanucleus-appengine-2.1.2.jar b/TEBTaskManage/war/WEB-INF/lib/datanucleus-appengine-2.1.2.jar new file mode 100644 index 00000000..a5b73b88 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/datanucleus-appengine-2.1.2.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/datanucleus-core-3.1.3.jar b/TEBTaskManage/war/WEB-INF/lib/datanucleus-core-3.1.3.jar new file mode 100644 index 00000000..cf133fd2 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/datanucleus-core-3.1.3.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/geronimo-jpa_2.0_spec-1.0.jar b/TEBTaskManage/war/WEB-INF/lib/geronimo-jpa_2.0_spec-1.0.jar new file mode 100644 index 00000000..2ea9ca9c Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/geronimo-jpa_2.0_spec-1.0.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/jdo-api-3.0.1.jar b/TEBTaskManage/war/WEB-INF/lib/jdo-api-3.0.1.jar new file mode 100644 index 00000000..6318d329 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/jdo-api-3.0.1.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/jsr107cache-1.1.jar b/TEBTaskManage/war/WEB-INF/lib/jsr107cache-1.1.jar new file mode 100644 index 00000000..a94aa318 Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/jsr107cache-1.1.jar differ diff --git a/TEBTaskManage/war/WEB-INF/lib/jta-1.1.jar b/TEBTaskManage/war/WEB-INF/lib/jta-1.1.jar new file mode 100644 index 00000000..7736ec9f Binary files /dev/null and b/TEBTaskManage/war/WEB-INF/lib/jta-1.1.jar differ diff --git a/TEBTaskManage/war/WEB-INF/logging.properties b/TEBTaskManage/war/WEB-INF/logging.properties new file mode 100644 index 00000000..a1720668 --- /dev/null +++ b/TEBTaskManage/war/WEB-INF/logging.properties @@ -0,0 +1,13 @@ +# A default java.util.logging configuration. +# (All App Engine logging is through java.util.logging by default). +# +# To use this configuration, copy it into your application's WEB-INF +# folder and add the following to your appengine-web.xml: +# +# +# +# +# + +# Set the default logging level for all loggers to WARNING +.level = WARNING diff --git a/TEBTaskManage/war/WEB-INF/web.xml b/TEBTaskManage/war/WEB-INF/web.xml new file mode 100644 index 00000000..81ae1c20 --- /dev/null +++ b/TEBTaskManage/war/WEB-INF/web.xml @@ -0,0 +1,215 @@ + + + + checkidexistence + Servlet.checkidexistence + + + checkavailid + Servlet.checkavailid + + + checkavailemail + Servlet.checkavailemail + + + autocompleteasignee + Servlet.autocompleteasignee + + + changedeadline + Servlet.changedeadline + + + changepassword + Servlet.changepassword + + + deletecategory + Servlet.deletecategory + + + deleteComment + Servlet.deleteComment + + + deletetask + Servlet.deletetask + + + getavatar + Servlet.getavatar + + + headervalidation + Servlet.headervalidation + + + insertcategory + Servlet.insertcategory + + + inserttask + Servlet.inserttask + + + registration + Servlet.registration + + + signout + Servlet.signout + + + updateAboutMe + Servlet.updateAboutMe + + + updateBirthdayProf + Servlet.updateBirthdayProf + + + updateEmailProf + Servlet.updateEmailProf + + + updateFullNameProf + Servlet.updateFullNameProf + + + updateSharedWithDB + Servlet.updateSharedWithDB + + + updateTagDB + Servlet.updateTagDB + + + updatecomment + Servlet.updatecomment + + + updatecompletestatus + Servlet.updatecompletestatus + + + nextcomment + Servlet.nextcomment + + + prevcomment + Servlet.prevcomment + + + checkidexistence + /checkidexistence + + + checkavailid + /checkavailid + + + checkavailemail + /checkavailemail + + + autocompleteasignee + /autocompleteasignee + + + changedeadline + /changedeadline + + + changepassword + /changepassword + + + deletecategory + /deletecategory + + + deleteComment + /deleteComment + + + deletetask + /deletetask + + + getavatar + /getavatar + + + headervalidation + /headervalidation + + + insertcategory + /insertcategory + + + inserttask + /inserttask + + + registration + /registration + + + signout + /signout + + + updateAboutMe + /updateAboutMe + + + updateBirthdayProf + /updateBirthdayProf + + + updateEmailProf + /updateEmailProf + + + updateFullNameProf + /updateFullNameProf + + + updateSharedWithDB + /updateSharedWithDB + + + updateTagDB + /updateTagDB + + + updatecomment + /updatecomment + + + updatecompletestatus + /updatecompletestatus + + + nextcomment + /nextcomment + + + prevcomment + /prevcomment + + + + 30 + + + + index.jsp + + diff --git a/TEBTaskManage/war/add_task.jsp b/TEBTaskManage/war/add_task.jsp new file mode 100644 index 00000000..1642b0cb --- /dev/null +++ b/TEBTaskManage/war/add_task.jsp @@ -0,0 +1,103 @@ +<%-- + Document : add_task + Created on : Apr 6, 2013, 8:16:49 AM + Author : VAIO +--%> + +<%@page import="java.sql.ResultSet"%> +<%@page import="java.sql.Statement"%> +<%@page import="java.sql.Connection"%> +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<%@page import="Class.*"%> +<%@page import="java.util.HashMap"%> + + + + + Add New Task + <% + String userAgent = request.getHeader("user-agent").toLowerCase(); + if (userAgent.matches(".*(android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino).*") || userAgent.substring(0, 4).matches("1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|e\\-|e\\/|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\\-|2|g)|yas\\-|your|zeto|zte\\-")) { + out.println(""); + } else { + out.println(""); + } + %> + + + + + + <% + /*session management*/ + if(request.getSession().getAttribute("userlistapp")==null){ + response.sendRedirect("index.jsp"); + } + %> +
+ + +

+ +
+

Category: + <% + String categoryid = request.getParameter("categoryid"); + out.print(func.getCategoryName(categoryid)); + %> + +

+
+ Task name:

+ Attach file:





+ Deadline,
+ Date:
+ Time:

+ Asignee:

+ Tag: +
+
+
+ +
+ +
+ +
+
+
+
+
+ +
+ +
+

+ +
+ +
+ +
+
+ +
+ +
+
+ +
+
+
+
+ + diff --git a/TEBTaskManage/war/css/calendar.css b/TEBTaskManage/war/css/calendar.css new file mode 100644 index 00000000..68a1cd6c --- /dev/null +++ b/TEBTaskManage/war/css/calendar.css @@ -0,0 +1,105 @@ +/* calendar style */ +#calendarDiv table, #calendarDiv th, #calendarDiv td, #calendarDiv, #calendarDiv a { + margin: 0; + padding: 0; + border: 0; + outline: 0; + font-weight: inherit; + font-style: inherit; + font-size: 12px; + font-family: inherit; + vertical-align: baseline; +} + +div#calendarDiv { + display: block; + display: none; + position: relative; + border: 1px solid #777; +} +div#calendarDiv a { + cursor: pointer; + cursor: hand; + color: #000; +} +table#calendar { + background: #ddd; + clear: both; + text-align: center; + font-size: 105%; +} +table#calendar, #linksTable { + width: 180px; +} +table#calendar .calendarHeader { + background: #0F0A0A url(../../img/fadeto333.gif) top repeat-x; + border-bottom: 1px solid #444; + color: #fff; +} +table#calendar tr.weekDaysTitleRow td { + background: #777; + color: #fff; +} +table#calendar tr.weekDaysRow { + background: #eee; + color: #666; +} +table#calendar td.weekDaysCell { + color: #000; + border: 1px solid #ddd; +} +table#calendar td.weekDaysCellOver { + background: #fff; + border: 1px solid #777; +} +a#closeCalender { + position: absolute; + right: 0; + bottom: 100%; + margin-bottom: 1px; + display: block; + padding: 2px; + cursor: pointer; + cursor: hand; + font-size: 60%; + letter-spacing: 1px; +} +a#closeCalender:hover { + background: #000; + color: #fff; +} +div#calendarDiv table#linksTable td { + background: #000; +} +table#linksTable a { + display: block; + color: #fff; + letter-spacing: 1px; + font-weight: bold; + font-size: 80%; + padding: 2px 5px; +} +table#linksTable a:hover { + background: #ddd; + color: #333; +} +a#prevMonth { + float: left; +} +a#nextMonth { + float: right; +} +td#today { + background: #999; +} +#calendar_cover { + display: none; /*sorry for IE5*/ + display/**/: block; /*sorry for IE5*/ + position: absolute; /*must have*/ + z-index: -1; /*must have*/ + filter: mask(); /*must have*/ + top: -4px; /*must have*/ + left: -4px; /*must have*/ + width: 193px; /*must have to match width and borders*/ + height: 200px; /*must have to match maximum height*/ +} \ No newline at end of file diff --git a/TEBTaskManage/war/css/layout.css b/TEBTaskManage/war/css/layout.css new file mode 100644 index 00000000..ced450b0 --- /dev/null +++ b/TEBTaskManage/war/css/layout.css @@ -0,0 +1,39 @@ +*{ + margin:0; + padding:0; +} +header { + background-color:#212121; + box-shadow: 0 -1px 2px #111111; + color:#fff; + display:block; + height:70px; + position:relative; + width:100%; + z-index:100; +} +header h2{ + font-size:22px; + font-weight:normal; + left:50%; + margin-left:-400px; + padding:22px 0; + position:absolute; + width:540px; +} +header a.stuts,a.stuts:visited{ + border:none; + text-decoration:none; + color:#fcfcfc; + font-size:14px; + left:50%; + line-height:31px; + margin:23px 0 0 110px; + position:absolute; + top:0; +} +header .stuts span { + font-size:22px; + font-weight:bold; + margin-left:5px; +} \ No newline at end of file diff --git a/TEBTaskManage/war/css/modal.css b/TEBTaskManage/war/css/modal.css new file mode 100644 index 00000000..3b34009f --- /dev/null +++ b/TEBTaskManage/war/css/modal.css @@ -0,0 +1,143 @@ +.main { + background: #aaa url(../images/bg.jpg) no-repeat; + width: 800px; + height: 600px; + margin: 50px auto; +} +.panel { + background-color: #444; + height: 34px; + padding: 10px; +} +.panel a#login_pop, .panel a#join_pop { + border: 2px solid #aaa; + color: #fff; + display: block; + float: right; + margin-right: 10px; + padding: 5px 10px; + text-decoration: none; + text-shadow: 1px 1px #000; + + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + -ms-border-radius: 10px; + -o-border-radius: 10px; + border-radius: 10px; +} +a#login_pop:hover, a#join_pop:hover { + border-color: #eee; +} +.overlay { + background-color: rgba(0, 0, 0, 0.6); + bottom: 0; + cursor: default; + left: 0; + opacity: 0; + position: fixed; + right: 0; + top: 0; + visibility: hidden; + z-index: 1; + + -webkit-transition: opacity .5s; + -moz-transition: opacity .5s; + -ms-transition: opacity .5s; + -o-transition: opacity .5s; + transition: opacity .5s; +} +.overlay:target { + visibility: visible; + opacity: 1; +} +.popup { + background-color: #fff; + border: 3px solid #fff; + display: inline-block; + left: 50%; + opacity: 0; + padding: 15px; + position: fixed; + text-align: justify; + top: 40%; + visibility: hidden; + z-index: 10; + + -webkit-transform: translate(-50%, -50%); + -moz-transform: translate(-50%, -50%); + -ms-transform: translate(-50%, -50%); + -o-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + + -webkit-border-radius: 10px; + -moz-border-radius: 10px; + -ms-border-radius: 10px; + -o-border-radius: 10px; + border-radius: 10px; + + -webkit-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; + -moz-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; + -ms-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; + -o-box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; + box-shadow: 0 1px 1px 2px rgba(0, 0, 0, 0.4) inset; + + -webkit-transition: opacity .5s, top .5s; + -moz-transition: opacity .5s, top .5s; + -ms-transition: opacity .5s, top .5s; + -o-transition: opacity .5s, top .5s; + transition: opacity .5s, top .5s; +} +.overlay:target+.popup { + top: 50%; + opacity: 1; + visibility: visible; +} +.close { + background-color: rgba(0, 0, 0, 0.8); + height: 30px; + line-height: 30px; + position: absolute; + right: 0; + text-align: center; + text-decoration: none; + top: -15px; + width: 30px; + + -webkit-border-radius: 15px; + -moz-border-radius: 15px; + -ms-border-radius: 15px; + -o-border-radius: 15px; + border-radius: 15px; +} +.close:before { + color: rgba(255, 255, 255, 0.9); + content: "X"; + font-size: 24px; + text-shadow: 0 -1px rgba(0, 0, 0, 0.9); +} +.close:hover { + background-color: rgba(64, 128, 128, 0.8); +} +.popup p, .popup div { + margin-bottom: 10px; +} +.popup label { + display: inline-block; + text-align: left; + width: 120px; +} +.popup input[type="text"], .popup input[type="password"] { + border: 1px solid; + border-color: #999 #ccc #ccc; + margin: 0; + padding: 2px; + + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + -ms-border-radius: 2px; + -o-border-radius: 2px; + border-radius: 2px; +} +.popup input[type="text"]:hover, .popup input[type="password"]:hover { + border-color: #555 #888 #888; +} \ No newline at end of file diff --git a/TEBTaskManage/war/css/style-mobile.css b/TEBTaskManage/war/css/style-mobile.css new file mode 100644 index 00000000..67afb940 --- /dev/null +++ b/TEBTaskManage/war/css/style-mobile.css @@ -0,0 +1,669 @@ +/* + Document : style-mobile + Created on : Apr 6, 2013, 7:58:43 AM + Author : Ecky + Description: + Purpose of the stylesheet follows. +*/ + +root { + display: block; +} + +body { + background-color:white; +} + +#warning-message { + color:red; +} + +#green-text { + color:green; +} + +#red-text{ + color:red; +} + +#left-body { + float:left; +} + +#right-body { + width:650px; + float:right; + padding-top:100px; + padding-right:30px; +} + +#big-logo { + float:left; + padding-left:40px; + padding-top:100px; +} + +#index-body { + background-image:url("..//image//taskpagem.jpg"); + width:1300px; + height:650px; + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#border { + color:black; + margin-top:0px; + margin-bottom:0px; + border-width:2px; +} + +#main-body { + margin:0px; + width:1300px; +} + +#main-body-general { + margin:0px; + width:1300px; +} + +#header { + height:110px; + background-image:url("..//image//headerm.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#header-logo { + float:left; + width:150px; + padding-top:18px; + padding-left:20px; +} + +#header-title { + float:left; + font-size:24px; + width:280px; + text-align:justify; + padding-top:15px; +} + +#header-link { + float:left; + float:bottom; + width:400px; + text-align:center; + padding-top:80px; +} + +#task-page-body { + min-height:1000px; + padding-left:20px; + padding-top:1px; + background-image:url("..//image//taskpagem.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#spacing { + height:47px; +} + +#spacing-attach { + height:162px; +} + +#spacing-deadline { + height:68px; +} + +#add-task-form { + height:450px; + float:left; + width:300px; +} + +#add-task { + height:450px; + width:125px; + float:left; + font-size:19px; +} + +#input-description { + float:left; + padding-right:50px; + font-size:19px; +} + +#profile-page-body { + background-image:url("..//image//taskpagem.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; + min-height:550px; + padding-left:20px; + padding-top:1px; +} +#nomargin { + margin-bottom:0px; +} + +#other-attachment { + height:140px; +} + +#new-comment { + width:770px; + margin-bottom:20px; +} + +#comment { + width:770px; + margin-bottom:20px; +} + +#web-description { + float:left; + font-family:"Trebuchet MS", Helvetica, sans-serif; + font-size:22px; +} + +#task-comment { + background-image:url("..//image//taskcommentm.jpg"); + padding-top:1px; + padding-left:20px; + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#komentator { + font-size:18px; +} + +#left-main-body { + width:450px; + float:left; +} + +#left-main-body2 { + width:450px; + float:left; +} + +#left-main-body3 { + width:450px; + float:left; +} + +#left-main-body4 { + width:450px; + float:left; +} + +#taskstatus{ + width:500px; + float:left; +} + +#right-main-body { + width:100px; + float:left; +} + +#user-info { + height:60px; + box-shadow: 5px 5px 8px #888888; + background-color:white; +} + +#left-comment-body { + padding-top:5px; + padding-left:5px; + width:60px; + float:left; +} + +#right-comment-body { + padding-top:10px; + padding-left:5px; + width:500px; + float:left; +} + +#delete-comment { + padding-top:20px; + float:left; +} + +#comment-box { + text-align:justify; + padding-left:5px; +} + +#video-attachment { + background-color:grey; + box-shadow: 5px 5px 10px #888888; + width:325px; + padding-left:5px; + padding-top:5px; +} + +#screenshots { + height:200px; + width:200px; + box-shadow: 5px 5px 10px #888888; +} + +#task-page-title { + height:120px; +} + +#header-right-side { + float:left; + padding-top:10px; +} + +#header-right-user { + margin-top:8px; + padding-top:10px; + padding-left:120px; +} + +#header-photo { + padding-top:5px; + float:left; +} + +#header-profile { + float:left; + padding-left:12px; +} + +#header-right-search { + width:420px; + padding-top:2px; + padding-left:10px; + float:left; +} + +#user-filtering { + display:none; + width:25%; + float:left; +} + +#searching-header { + padding-left:100px; + width:75%; + float:left; +} + +#delete-task { + font-size:14px; + padding:0px 0px 0px 0px; + margin:0px 0px 0px 0px; +} + +#header-right-user ul{ + margin-bottom:0px; + list-style:square; + margin-top:4px; + padding-left:20px; +} + +#dashboard-link { + text-align:center; + width:100%; + float:left; +} + +#big-name { + font-size:24px; + text-align:center; + padding-bottom:10px; + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#login-form { + padding: 10px 10px 10px 10px; + box-shadow: 2px 2px 5px #888888; + background-color:#DEB887; +} + +#photo { + box-shadow: 2px 2px 5px #888888; +} + +#register-form { + padding: 10px 10px 10px 10px; + box-shadow: 2px 2px 5px #888888; + background-color:#DEB887; +} + +#right-side { + float:right; +} + +#left-profile-body { + width:25%; + float:left; +} + +#right-profile-body { + width:75%; +} + +#left-profile-name { + width:25%; + float:left; +} + +#right-profile-editname { + width:75%; + float:right; +} + +#left-profile-newname { + width:25%; + float:left; +} + +#right-profile-donename { + width:75%; + float:right; +} + +#left-profile-birthday { + width:25%; + float:left; +} + +#right-profile-editbirthday { + width:75%; + float:right; +} + +#left-profile-newbirthday { + width:25%; + float:left; +} + +#right-profile-donebirthday { + width:75%; + float:right; +} + +#left-profile-email { + width:25%; + float:left; +} + +#right-profile-editemail { + width:75%; + float:right; +} + +#left-profile-newemail { + width:25%; + float:left; +} + +#right-profile-doneemail { + width:75%; + float:right; +} + +#left-profile-unfinished { + width:25%; +} + +#left-profile-finished { + width:25%; +} + +#profile-header { + padding-top:5px; + height:310px; +} + +#left-profile-header { + width:25%; + height:300px; + float:left; + padding-top:5px; +} + +#password_form { + display:block; +} + +#list-search { + padding:0px 0px 0px 0px; + margin:0px 0px 0px 0px; +} + +#about { + width:50%; + text-align:justify; +} + +#right-profile-header { + width:75%; + height:300px; + float:right; +} + +#dashboard-body { + background-image:url("..//image//taskpagem.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; + min-height:550px; + padding-top:5px; + text-align:center; +} + +#search-result-body { + background-image:url("..//image//taskpagem.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; + padding-top:5px; + padding-left:50px; + min-height:550px; +} + +#profile-pic { + display: inline-block; + width:300px; + height:auto; + float:left; + padding:80px 0px 0px 2px; +} + +#main-dashboard { + display: inline-block; + padding-top:10px; + width:800px; + padding-bottom:25px +} + +#dashboard-empty { + display: inline-block; + width:180px; +} + +#task-search { + width:800px; + padding-top:10px; + padding-bottom:25px +} + +#dashboard-title { + font-size:24px; + text-align:left; +} + +#category-list { + text-align:left; +} + +#user-result { + width:400px; + height:150px; +} + +#user-result-image { + width:120px; + float:left; + height:150px; +} + +#user-result-name { + float:left; + height:150px; +} + +#border-search { + color:black; + margin-top:0px; + margin-bottom:0px; + border-width:2px; + width:400px; + float:left; +} + +#category-title { + font-size:22px; + text-align:left; + float:left; +} + +.category-title { + font-size:24px; + text-align:left; + float:left; +} + +.category-title-secondary { + padding-top:8px; + font-size:14px; + text-align:left; +} + +.kosong { + padding-top:8px; + text-indent:20px; + font-size:14px; + text-align:left; +} + +#add-category { + float:left; +} + +#sort { + padding-bottom:20px; + text-align:left; +} + +.task-category-body { + display:block; + padding-bottom:25px; +} + +.task-category-body ul { + display:none; + padding-left:30px; + margin-bottom:0px; + font-size:18px; +} + +.task-category-body:hover > ul { + display:block; +} + +.task-tag { + margin: 0px 0px 0px 0px; + float:right; + padding-left:20px; + font-size:12px; +} + +#task-result { + margin: 0px 0px 0px 0px; + padding: 0px 0px 0px 0px; +} + +#task-tag { + margin: 0px 0px 0px 0px; + float:left; + font-size:12px; +} + +#task-tag-delete { + float:left; + font-size:12px; + padding-top:5px; + padding-left:10px; +} + +#delete-category { + float:left; +} + +.add-task { + padding : 2px 2px 2px 2px; + font-size:12px; + width:100px; +} + +#new-category { + font-size:24px; + text-align:left; +} + +#task-page-title { + +} + +#add-task-body { + +} + +#profile-body { + +} + +#post-date { + font-size:12px; +} + +#deadline_edit { + display:none; +} + +#assignee_edit { + display:none; +} + +#tag_edit { + display:none; +} + +#label { + float:left; +} + +#deadline_edit { + margin:0px 0px 0px 0px; + padding:0px 0px 0px 0px; + float:left; +} + +#date_html { + margin:0px 0px 0px 0px; + padding-left:5px; + float:left; +} + +#date_html5 { + float:left; +} + +#create { + display:none; +} diff --git a/TEBTaskManage/war/css/style.css b/TEBTaskManage/war/css/style.css new file mode 100644 index 00000000..2e6a99ab --- /dev/null +++ b/TEBTaskManage/war/css/style.css @@ -0,0 +1,669 @@ +/* + Document : style + Created on : Apr 6, 2013, 7:58:22 AM + Author : Ecky + Description: + Purpose of the stylesheet follows. +*/ + +root { + display: block; +} + +body { + background-color:white; +} + +#warning-message { + color:red; +} + +#green-text { + color:green; +} + +#red-text{ + color:red; +} + +#left-body { + float:left; +} + +#right-body { + width:650px; + float:right; + padding-top:100px; + padding-right:30px; +} + +#big-logo { + float:left; + padding-left:40px; + padding-top:100px; +} + +#index-body { + background-image:url("..//image//taskpage.jpg"); + width:1300px; + height:650px; + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#border { + color:black; + margin-top:0px; + margin-bottom:0px; + border-width:2px; +} + +#main-body { + margin:0px; + width:1300px; +} + +#main-body-general { + margin:0px; + width:1300px; +} + +#header { + height:110px; + background-image:url("..//image//header.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#header-logo { + float:left; + width:150px; + padding-top:18px; + padding-left:20px; +} + +#header-title { + float:left; + font-size:24px; + width:280px; + text-align:justify; + padding-top:15px; +} + +#header-link { + float:left; + float:bottom; + width:400px; + text-align:center; + padding-top:80px; +} + +#task-page-body { + min-height:1000px; + padding-left:20px; + padding-top:1px; + background-image:url("..//image//taskpage.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#spacing { + height:47px; +} + +#spacing-attach { + height:162px; +} + +#spacing-deadline { + height:68px; +} + +#add-task-form { + height:450px; + float:left; + width:300px; +} + +#add-task { + height:450px; + width:125px; + float:left; + font-size:19px; +} + +#input-description { + float:left; + padding-right:50px; + font-size:19px; +} + +#profile-page-body { + background-image:url("..//image//taskpage.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; + min-height:550px; + padding-left:20px; + padding-top:1px; +} +#nomargin { + margin-bottom:0px; +} + +#other-attachment { + height:140px; +} + +#new-comment { + width:770px; + margin-bottom:20px; +} + +#comment { + width:770px; + margin-bottom:20px; +} + +#web-description { + float:left; + font-family:"Trebuchet MS", Helvetica, sans-serif; + font-size:22px; +} + +#task-comment { + background-image:url("..//image//taskcomment.jpg"); + padding-top:1px; + padding-left:20px; + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#komentator { + font-size:18px; +} + +#left-main-body { + width:450px; + float:left; +} + +#left-main-body2 { + width:450px; + float:left; +} + +#left-main-body3 { + width:450px; + float:left; +} + +#left-main-body4 { + width:450px; + float:left; +} + +#taskstatus{ + width:500px; + float:left; +} + +#right-main-body { + width:100px; + float:left; +} + +#user-info { + height:60px; + box-shadow: 5px 5px 8px #888888; + background-color:white; +} + +#left-comment-body { + padding-top:5px; + padding-left:5px; + width:60px; + float:left; +} + +#right-comment-body { + padding-top:10px; + padding-left:5px; + width:500px; + float:left; +} + +#delete-comment { + padding-top:20px; + float:left; +} + +#comment-box { + text-align:justify; + padding-left:5px; +} + +#video-attachment { + background-color:grey; + box-shadow: 5px 5px 10px #888888; + width:325px; + padding-left:5px; + padding-top:5px; +} + +#screenshots { + height:200px; + width:200px; + box-shadow: 5px 5px 10px #888888; +} + +#task-page-title { + height:120px; +} + +#header-right-side { + float:left; + padding-top:10px; +} + +#header-right-user { + margin-top:8px; + padding-top:10px; + padding-left:120px; +} + +#header-photo { + padding-top:5px; + float:left; +} + +#header-profile { + float:left; + padding-left:12px; +} + +#header-right-search { + width:420px; + padding-top:2px; + padding-left:10px; + float:left; +} + +#user-filtering { + display:none; + width:25%; + float:left; +} + +#searching-header { + padding-left:100px; + width:75%; + float:left; +} + +#delete-task { + font-size:14px; + padding:0px 0px 0px 0px; + margin:0px 0px 0px 0px; +} + +#header-right-user ul{ + margin-bottom:0px; + list-style:square; + margin-top:4px; + padding-left:20px; +} + +#dashboard-link { + text-align:center; + width:100%; + float:left; +} + +#big-name { + font-size:24px; + text-align:center; + padding-bottom:10px; + font-family:"Trebuchet MS", Helvetica, sans-serif; +} + +#login-form { + padding: 10px 10px 10px 10px; + box-shadow: 2px 2px 5px #888888; + background-color:#DEB887; +} + +#photo { + box-shadow: 2px 2px 5px #888888; +} + +#register-form { + padding: 10px 10px 10px 10px; + box-shadow: 2px 2px 5px #888888; + background-color:#DEB887; +} + +#right-side { + float:right; +} + +#left-profile-body { + width:25%; + float:left; +} + +#right-profile-body { + width:75%; +} + +#left-profile-name { + width:25%; + float:left; +} + +#right-profile-editname { + width:75%; + float:right; +} + +#left-profile-newname { + width:25%; + float:left; +} + +#right-profile-donename { + width:75%; + float:right; +} + +#left-profile-birthday { + width:25%; + float:left; +} + +#right-profile-editbirthday { + width:75%; + float:right; +} + +#left-profile-newbirthday { + width:25%; + float:left; +} + +#right-profile-donebirthday { + width:75%; + float:right; +} + +#left-profile-email { + width:25%; + float:left; +} + +#right-profile-editemail { + width:75%; + float:right; +} + +#left-profile-newemail { + width:25%; + float:left; +} + +#right-profile-doneemail { + width:75%; + float:right; +} + +#left-profile-unfinished { + width:25%; +} + +#left-profile-finished { + width:25%; +} + +#profile-header { + padding-top:5px; + height:310px; +} + +#left-profile-header { + width:25%; + height:300px; + float:left; + padding-top:5px; +} + +#password_form { + display:block; +} + +#list-search { + padding:0px 0px 0px 0px; + margin:0px 0px 0px 0px; +} + +#about { + width:50%; + text-align:justify; +} + +#right-profile-header { + width:75%; + height:300px; + float:right; +} + +#dashboard-body { + background-image:url("..//image//taskpage.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; + min-height:550px; + padding-top:5px; + text-align:center; +} + +#search-result-body { + background-image:url("..//image//taskpage.jpg"); + font-family:"Trebuchet MS", Helvetica, sans-serif; + padding-top:5px; + padding-left:50px; + min-height:550px; +} + +#profile-pic { + display: inline-block; + width:300px; + height:auto; + float:left; + padding:80px 0px 0px 2px; +} + +#main-dashboard { + display: inline-block; + padding-top:10px; + width:800px; + padding-bottom:25px +} + +#dashboard-empty { + display: inline-block; + width:180px; +} + +#task-search { + width:800px; + padding-top:10px; + padding-bottom:25px +} + +#dashboard-title { + font-size:24px; + text-align:left; +} + +#category-list { + text-align:left; +} + +#user-result { + width:400px; + height:150px; +} + +#user-result-image { + width:120px; + float:left; + height:150px; +} + +#user-result-name { + float:left; + height:150px; +} + +#border-search { + color:black; + margin-top:0px; + margin-bottom:0px; + border-width:2px; + width:400px; + float:left; +} + +#category-title { + font-size:22px; + text-align:left; + float:left; +} + +.category-title { + font-size:24px; + text-align:left; + float:left; +} + +.category-title-secondary { + padding-top:8px; + font-size:14px; + text-align:left; +} + +.kosong { + padding-top:8px; + text-indent:20px; + font-size:14px; + text-align:left; +} + +#add-category { + float:left; +} + +#sort { + padding-bottom:20px; + text-align:left; +} + +.task-category-body { + display:block; + padding-bottom:25px; +} + +.task-category-body ul { + display:none; + padding-left:30px; + margin-bottom:0px; + font-size:18px; +} + +.task-category-body:hover > ul { + display:block; +} + +.task-tag { + margin: 0px 0px 0px 0px; + float:right; + padding-left:20px; + font-size:12px; +} + +#task-result { + margin: 0px 0px 0px 0px; + padding: 0px 0px 0px 0px; +} + +#task-tag { + margin: 0px 0px 0px 0px; + float:left; + font-size:12px; +} + +#task-tag-delete { + float:left; + font-size:12px; + padding-top:5px; + padding-left:10px; +} + +#delete-category { + float:left; +} + +.add-task { + padding : 2px 2px 2px 2px; + font-size:12px; + width:100px; +} + +#new-category { + font-size:24px; + text-align:left; +} + +#task-page-title { + +} + +#add-task-body { + +} + +#profile-body { + +} + +#post-date { + font-size:12px; +} + +#deadline_edit { + display:none; +} + +#assignee_edit { + display:none; +} + +#tag_edit { + display:none; +} + +#label { + float:left; +} + +#deadline_edit { + margin:0px 0px 0px 0px; + padding:0px 0px 0px 0px; + float:left; +} + +#date_html { + margin:0px 0px 0px 0px; + padding-left:5px; + float:left; +} + +#date_html5 { + float:left; +} + +#create { + display:none; +} diff --git a/TEBTaskManage/war/dashboard.jsp b/TEBTaskManage/war/dashboard.jsp new file mode 100644 index 00000000..3efd6f7a --- /dev/null +++ b/TEBTaskManage/war/dashboard.jsp @@ -0,0 +1,101 @@ +<%-- + Document : dashboard + Created on : Apr 6, 2013, 8:14:09 AM + Author : VAIO +--%> + +<%@page import="Class.*"%> +<%@page import="java.util.HashMap"%> +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + Dashboard + <% + String userAgent = request.getHeader("user-agent").toLowerCase(); + if (userAgent.matches(".*(android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino).*") || userAgent.substring(0, 4).matches("1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|e\\-|e\\/|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\\-|2|g)|yas\\-|your|zeto|zte\\-")) { + out.println(""); + } else { + out.println(""); + } + %> + + + + + <% + /*session management */ + String userActive = ""; + if(request.getSession().getAttribute("userlistapp")==null){ + response.sendRedirect("index.jsp"); + }else{ + userActive = request.getSession().getAttribute("userlistapp").toString(); + } + %> +
+ + +

+ +
+
+ <% + HashMap userActiveData = (new Function()).GetUser(userActive); + %> + " width="120" height="150"/> +
+ <%=userActive %>
+
+
+
MY TASK

+ + + + + + +
+ Sort by : +   +
+ +
+ +
+ +
+ + + + +
+
+
+
+
+ + diff --git a/TEBTaskManage/war/favicon.ico b/TEBTaskManage/war/favicon.ico new file mode 100644 index 00000000..0062ab41 Binary files /dev/null and b/TEBTaskManage/war/favicon.ico differ diff --git a/TEBTaskManage/war/header.jsp b/TEBTaskManage/war/header.jsp new file mode 100644 index 00000000..b14bb9ac --- /dev/null +++ b/TEBTaskManage/war/header.jsp @@ -0,0 +1,73 @@ +<%-- + Document : header + Created on : Apr 6, 2013, 8:08:53 AM + Author : VAIO +--%> + +<%@page import="java.util.HashMap"%> +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<%@page import="Class.*"%> + + + + + Header + <% + String userAgent = request.getHeader("user-agent").toLowerCase(); + if (userAgent.matches(".*(android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino).*") || userAgent.substring(0, 4).matches("1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|e\\-|e\\/|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\\-|2|g)|yas\\-|your|zeto|zte\\-")) { + out.println(""); + } else { + out.println(""); + } + %> + + + + +
+ +
+ +
+ <% + /*session management*/ + String userActive = ""; + if(request.getSession().getAttribute("userlistapp")!=null){ + userActive = request.getSession().getAttribute("userlistapp").toString(); + } + %> + +
+ You logged as, <% if(user != null) out.print(user.get("username")); %> + +
+
+
+ + diff --git a/TEBTaskManage/war/image/bian.jpg b/TEBTaskManage/war/image/bian.jpg new file mode 100644 index 00000000..3039d938 Binary files /dev/null and b/TEBTaskManage/war/image/bian.jpg differ diff --git a/TEBTaskManage/war/image/ecky.jpg b/TEBTaskManage/war/image/ecky.jpg new file mode 100644 index 00000000..1ad6e7e0 Binary files /dev/null and b/TEBTaskManage/war/image/ecky.jpg differ diff --git a/TEBTaskManage/war/image/fadhil.jpg b/TEBTaskManage/war/image/fadhil.jpg new file mode 100644 index 00000000..7d1ecb9a Binary files /dev/null and b/TEBTaskManage/war/image/fadhil.jpg differ diff --git a/TEBTaskManage/war/image/header.jpg b/TEBTaskManage/war/image/header.jpg new file mode 100644 index 00000000..e9258614 Binary files /dev/null and b/TEBTaskManage/war/image/header.jpg differ diff --git a/TEBTaskManage/war/image/headerm.jpg b/TEBTaskManage/war/image/headerm.jpg new file mode 100644 index 00000000..ef13ce1b Binary files /dev/null and b/TEBTaskManage/war/image/headerm.jpg differ diff --git a/TEBTaskManage/war/image/images.jpg b/TEBTaskManage/war/image/images.jpg new file mode 100644 index 00000000..57330a40 Binary files /dev/null and b/TEBTaskManage/war/image/images.jpg differ diff --git a/TEBTaskManage/war/image/images1.jpg b/TEBTaskManage/war/image/images1.jpg new file mode 100644 index 00000000..1c5fc8e6 Binary files /dev/null and b/TEBTaskManage/war/image/images1.jpg differ diff --git a/TEBTaskManage/war/image/images2.jpg b/TEBTaskManage/war/image/images2.jpg new file mode 100644 index 00000000..8888ca16 Binary files /dev/null and b/TEBTaskManage/war/image/images2.jpg differ diff --git a/TEBTaskManage/war/image/images3.jpg b/TEBTaskManage/war/image/images3.jpg new file mode 100644 index 00000000..5fe872fa Binary files /dev/null and b/TEBTaskManage/war/image/images3.jpg differ diff --git a/TEBTaskManage/war/image/logo.png b/TEBTaskManage/war/image/logo.png new file mode 100644 index 00000000..7995d4b7 Binary files /dev/null and b/TEBTaskManage/war/image/logo.png differ diff --git a/TEBTaskManage/war/image/taskcomment.jpg b/TEBTaskManage/war/image/taskcomment.jpg new file mode 100644 index 00000000..b230c313 Binary files /dev/null and b/TEBTaskManage/war/image/taskcomment.jpg differ diff --git a/TEBTaskManage/war/image/taskcommentm.jpg b/TEBTaskManage/war/image/taskcommentm.jpg new file mode 100644 index 00000000..3de5d03b Binary files /dev/null and b/TEBTaskManage/war/image/taskcommentm.jpg differ diff --git a/TEBTaskManage/war/image/taskpage.jpg b/TEBTaskManage/war/image/taskpage.jpg new file mode 100644 index 00000000..b6c4cc22 Binary files /dev/null and b/TEBTaskManage/war/image/taskpage.jpg differ diff --git a/TEBTaskManage/war/image/taskpagem.jpg b/TEBTaskManage/war/image/taskpagem.jpg new file mode 100644 index 00000000..b9b9d662 Binary files /dev/null and b/TEBTaskManage/war/image/taskpagem.jpg differ diff --git a/TEBTaskManage/war/image/title.png b/TEBTaskManage/war/image/title.png new file mode 100644 index 00000000..47158514 Binary files /dev/null and b/TEBTaskManage/war/image/title.png differ diff --git a/TEBTaskManage/war/index.jsp b/TEBTaskManage/war/index.jsp new file mode 100644 index 00000000..0695bf92 --- /dev/null +++ b/TEBTaskManage/war/index.jsp @@ -0,0 +1,94 @@ +<%-- + Document : index + Created on : Apr 3, 2013, 6:48:43 PM + Author : VAIO +--%> + +<%@page contentType="text/html" pageEncoding="UTF-8"%> + + + + + Shared To-do List + <% + String userAgent = request.getHeader("user-agent").toLowerCase(); + if (userAgent.matches(".*(android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino).*") || userAgent.substring(0, 4).matches("1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|e\\-|e\\/|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\\-|2|g)|yas\\-|your|zeto|zte\\-")) { + out.println(""); + } else { + out.println(""); + } + %> + + + + + + <% + /*session management*/ + if(request.getSession().getAttribute("userlistapp")!=null){ + response.sendRedirect("dashboard.jsp"); + } + %> +
+
+ +

+ +
Browse, Manage and Share Your Task!
+
+
+
Get Started
+ +
+
+ Username:
+ Password:
+
+
+
+
+ +
+
+ +
+
+ Username:
+ Password:
+ Confirm:
+ Full name:
+ BirthDate 
+ Email:
+ Your Avatar:
+
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+ + +
+

+
Don't have an account? Register
+
Already have a account? Sign in
+
+ +
+ + diff --git a/TEBTaskManage/war/javascript/add_task.js b/TEBTaskManage/war/javascript/add_task.js new file mode 100644 index 00000000..0df8f845 --- /dev/null +++ b/TEBTaskManage/war/javascript/add_task.js @@ -0,0 +1,240 @@ +//add_task javascript +var chktaskname = false; +var chkattach1 = true; +var chkattach2 = true; +var chkattach3 = true; +var chkattach4 = true; +var chkattach5 = true; +var chkassignee = false; +var chktag = false; +var chktime = false; + +var iskonkat = false; +var konkat = ""; + +function hide_create_button() { + document.getElementById("create").style.display = 'none'; +} + +function show_create_button() { + if (chktime == true && chktaskname == true && chkattach1 == true && chkattach2 == true && chkattach3 == true && chkattach4 == true && chkattach5 == true && chkassignee == true && chktag == true) { + document.getElementById("create").style.display = 'block'; + } +} + +function check_string() { + var i; + var str = document.getElementById("taskname").value; + for (i = 0; i < str.length; i++) { + if ((str.charAt(i) != ' ' && str.charCodeAt(i) < 48) || (str.charCodeAt(i) > 57 && str.charCodeAt(i) < 65) || (str.charCodeAt(i) > 90 && str.charCodeAt(i) < 97) || str.charCodeAt(i) > 122) { + return false; + } + } + return true; +} + +function check_task_name() { + if (document.getElementById("taskname").value.length > 0 && document.getElementById("taskname").value.length < 26) { + chktaskname = check_string(); + if (chktaskname == true) { + show_create_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + hide_create_button(); + document.getElementById("warning-message").innerHTML="Task name contains special characters"; + } + } else { + chktaskname = false; + hide_create_button(); + document.getElementById("warning-message").innerHTML="Task name is not valid"; + } +} + +function check_attachment1() { + var str = document.getElementById("attached1").value; + var ext = str.substring(str.lastIndexOf('.') + 1, str.length).toLowerCase(); + if (ext == "pdf" || ext == "doc" || ext == "docx" || ext == "ppt" || ext == "pptx" || ext == "java" || ext == "jpg" || ext =="jpeg" || ext == "gif" || ext == "mp4" || ext == "txt" || str === "") { + chkattach1 = true; + show_create_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chkattach1 = false; + hide_create_button(); + document.getElementById("warning-message").innerHTML="Uploaded files no.1 is not supported"; + } +} + +function check_attachment2() { + var str = document.getElementById("attached2").value; + var ext = str.substring(str.lastIndexOf('.') + 1, str.length).toLowerCase(); + if (ext == "pdf" || ext == "doc" || ext == "docx" || ext == "ppt" || ext == "pptx" || ext == "java" || ext == "jpg" || ext =="jpeg" || ext == "gif" || ext == "mp4" || ext == "txt") { + chkattach2 = true; + show_create_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chkattach2 = false; + hide_create_button(); + document.getElementById("warning-message").innerHTML="Uploaded files no.2 is not supported"; + } +} + +function check_attachment3() { + var str = document.getElementById("attached3").value; + var ext = str.substring(str.lastIndexOf('.') + 1, str.length).toLowerCase(); + if (ext == "pdf" || ext == "doc" || ext == "docx" || ext == "ppt" || ext == "pptx" || ext == "java" || ext == "jpg" || ext =="jpeg" || ext == "gif" || ext == "mp4" || ext == "txt") { + chkattach3 = true; + show_create_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chkattach3 = false; + hide_create_button(); + document.getElementById("warning-message").innerHTML="Uploaded files no.3 is not supported"; + } +} + +function check_attachment4() { + var str = document.getElementById("attached4").value; + var ext = str.substring(str.lastIndexOf('.') + 1, str.length).toLowerCase(); + if (ext == "pdf" || ext == "doc" || ext == "docx" || ext == "ppt" || ext == "pptx" || ext == "java" || ext == "jpg" || ext =="jpeg" || ext == "gif" || ext == "mp4" || ext == "txt") { + chkattach4 = true; + show_create_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chkattach4 = false; + hide_create_button(); + document.getElementById("warning-message").innerHTML="Uploaded files no.4 is not supported"; + } +} + +function check_attachment5() { + var str = document.getElementById("attached5").value; + var ext = str.substring(str.lastIndexOf('.') + 1, str.length).toLowerCase(); + if (ext == "pdf" || ext == "doc" || ext == "docx" || ext == "ppt" || ext == "pptx" || ext == "java" || ext == "jpg" || ext =="jpeg" || ext == "gif" || ext == "mp4" || ext == "txt") { + chkattach5 = true; + show_create_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chkattach5 = false; + hide_create_button(); + document.getElementById("warning-message").innerHTML="Uploaded files no.5 is not supported"; + } +} + +function check_assignee() { + if (document.getElementById("task-assignee").value.length > 0) { + chkassignee = true; + show_create_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chkassignee = false; + hide_create_button(); + document.getElementById("warning-message").innerHTML="Some assignee are not recognized"; + } +} + +function check_tag() { + if (document.getElementById("tag").value.length > 0) { + chktag = true; + show_create_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chktag = false; + hide_create_button(); + document.getElementById("warning-message").innerHTML="Tag is not valid"; + } +} + +function check_time() { + if (document.getElementById("time").value.length == 5) { + chktime = true; + show_create_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chktime = false; + hide_create_button(); + document.getElementById("warning-message").innerHTML="Deadline time is not valid"; + } +} + +function addAssignee() { + check_assignee(); + autoCompleteAsignee(); +} + +function getAjax() //a function to get AJAX from browser +{ + try + { + ajaxRequest = new XMLHttpRequest(); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch (e) + { + alert("Can't get AJAX, browser error"); + return false; + } + } + } +} + +function autoCompleteAsignee() { + getAjax(); + + var asignee = document.getElementById("task-assignee").value; + var asigneeindex; + var asigneearray; + var suggestion = ""; + var suggestionarray; + + var index = asignee.length; + + if(asignee!=="") + { + if (asignee.indexOf(",") !== -1) { + if (asignee.charAt(index - 1) === ',') + { + konkat = asignee.substr(0,index); + } + asigneearray = asignee.split(","); + asigneeindex = asigneearray.length - 1; + ajaxRequest.open("GET","autocompleteasignee?asignee="+asigneearray[asigneeindex],false); + } + else { + ajaxRequest.open("GET","autocompleteasignee?asignee="+asignee,false); + } + ajaxRequest.onreadystatechange = function() + { + suggestion = ajaxRequest.responseText; + suggestion = suggestion.substr(0,suggestion.length-1); + suggestionarray = suggestion.split("|"); + + var x; + x=""; + for (var i = 0; i < suggestionarray.length; i++) { + x += ""; + document.getElementById("shared-with").innerHTML=x; + }; + + ajaxRequest.send(); + } + else + { + konkat = ""; + } + + //ajaxRequest.open("GET","php/checkavailid.php?idinput="+document.getElementById("username").value,false); + +} \ No newline at end of file diff --git a/TEBTaskManage/war/javascript/calendar.js b/TEBTaskManage/war/javascript/calendar.js new file mode 100644 index 00000000..6a9e626c --- /dev/null +++ b/TEBTaskManage/war/javascript/calendar.js @@ -0,0 +1,232 @@ +/*! + * Clean Calendar + * Copyright 2007-2009 Marc Grabanski (m@marcgrabanski.com) http://marcgrabanski.com + * Project Page: http://marcgrabanski.com/article/clean-calendar + * Under the MIT License */ + +var popUpCal = { + selectedMonth: new Date().getMonth(), + // 0-11 + selectedYear: new Date().getFullYear(), + // 4-digit year + selectedDay: new Date().getDate(), + calendarId: 'calendarDiv', + inputClass: 'calendarSelectDate', + + init: function() { + var x = getElementsByClass(popUpCal.inputClass, document, 'input'); + var y = document.getElementById(popUpCal.calendarId); + // set the calendar position based on the input position + for (var i = 0; i < x.length; i++) { + x[i].onfocus = function() { + popUpCal.selectedMonth = new Date().getMonth(); + setPos(this, y); + // setPos(targetObj,moveObj) + y.style.display = 'block'; + popUpCal.drawCalendar(this); + popUpCal.setupLinks(this); + }; + } + }, + + drawCalendar: function(inputObj) { + + var html = ''; + html = 'Close Calendar'; + html += ''; + html += ' '; + html += ' '; + html += '
<< PrevNext >>
'; + html += ''; + html += ''; + html += ''; + var weekDays = new Array('S', 'M', 'T', 'W', 'T', 'F', 'S'); + for (var j = 0; j < weekDays.length; j++) { + html += ''; + } + + var daysInMonth = getDaysInMonth(popUpCal.selectedYear, popUpCal.selectedMonth); + var startDay = getFirstDayofMonth(popUpCal.selectedYear, popUpCal.selectedMonth); + var numRows = 0; + var printDate = 1; + if (startDay != 7) { + numRows = Math.ceil(((startDay + 1) + (daysInMonth)) / 7); + // calculate the number of rows to generate + } + + // calculate number of days before calendar starts + if (startDay != 7) { + var noPrintDays = startDay + 1; + } else { + var noPrintDays = 0; + // if sunday print right away + } + var today = new Date().getDate(); + var thisMonth = new Date().getMonth(); + var thisYear = new Date().getFullYear(); + // create calendar rows + for (var e = 0; e < numRows; e++) { + html += ''; + // create calendar days + for (var f = 0; f < 7; f++) { + if ((printDate == today) + && (popUpCal.selectedYear == thisYear) + && (popUpCal.selectedMonth == thisMonth) + && (noPrintDays == 0)) { + html += ''; + if (noPrintDays > 0) noPrintDays--; + } + html += ''; + } + html += '
' + getMonthName(popUpCal.selectedMonth) + ' ' + popUpCal.selectedYear + '
' + weekDays[j] + '
'; + } else { + html += ''; + } + if (noPrintDays == 0) { + if (printDate <= daysInMonth) { + html += '' + printDate + ''; + } + printDate++; + } + html += '
'; + html += ''; + + // add calendar to element to calendar Div + var calendarDiv = document.getElementById(popUpCal.calendarId); + calendarDiv.innerHTML = html; + + // close button link + document.getElementById('closeCalender').onclick = function() { + calendarDiv.style.display = 'none'; + } + // setup next and previous links + document.getElementById('prevMonth').onclick = function() { + popUpCal.selectedMonth--; + if (popUpCal.selectedMonth < 0) { + popUpCal.selectedMonth = 11; + popUpCal.selectedYear--; + } + popUpCal.drawCalendar(inputObj); + popUpCal.setupLinks(inputObj); + } + document.getElementById('nextMonth').onclick = function() { + popUpCal.selectedMonth++; + if (popUpCal.selectedMonth > 11) { + popUpCal.selectedMonth = 0; + popUpCal.selectedYear++; + } + popUpCal.drawCalendar(inputObj); + popUpCal.setupLinks(inputObj); + } + + }, + // end drawCalendar function + setupLinks: function(inputObj) { + // set up link events on calendar table + var y = document.getElementById('calendar'); + var x = y.getElementsByTagName('a'); + for (var i = 0; i < x.length; i++) { + x[i].onmouseover = function() { + this.parentNode.className = 'weekDaysCellOver'; + } + x[i].onmouseout = function() { + this.parentNode.className = 'weekDaysCell'; + } + x[i].onclick = function() { + document.getElementById(popUpCal.calendarId).style.display = 'none'; + popUpCal.selectedDay = this.innerHTML; + inputObj.value = formatDate(popUpCal.selectedDay, popUpCal.selectedMonth, popUpCal.selectedYear); + } + } + } + +} +// Add calendar event that has wide browser support +if (typeof window.addEventListener != "undefined") + window.addEventListener("load", popUpCal.init, false); +else if (typeof window.attachEvent != "undefined") + window.attachEvent("onload", popUpCal.init); +else { + if (window.onload != null) { + var oldOnload = window.onload; + window.onload = function(e) { + oldOnload(e); + popUpCal.init(); + }; + } + else + window.onload = popUpCal.init; +} + +/* Functions Dealing with Dates */ + +function formatDate(Day, Month, Year) { + Month++; + // adjust javascript month + if (Month < 10) Month = '0' + Month; + // add a zero if less than 10 + if (Day < 10) Day = '0' + Day; + // add a zero if less than 10 + var dateString = Year + '-' + Month + '-' + Day; + return dateString; +} + +function getMonthName(month) { + var monthNames = new Array('January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'); + return monthNames[month]; +} + +function getDayName(day) { + var dayNames = new Array('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday') + return dayNames[day]; +} + +function getDaysInMonth(year, month) { + return 32 - new Date(year, month, 32).getDate(); +} + +function getFirstDayofMonth(year, month) { + var day; + day = new Date(year, month, 0).getDay(); + return day; +} + +/* Common Scripts */ + +function getElementsByClass(searchClass, node, tag) { + var classElements = new Array(); + if (node == null) node = document; + if (tag == null) tag = '*'; + var els = node.getElementsByTagName(tag); + var elsLen = els.length; + var pattern = new RegExp("(^|\s)" + searchClass + "(\s|$)"); + for (i = 0, j = 0; i < elsLen; i++) { + if (pattern.test(els[i].className)) { + classElements[j] = els[i]; + j++; + } + } + return classElements; +} + +/* Position Functions */ + +function setPos(targetObj, moveObj) { + var coors = findPos(targetObj); + moveObj.style.position = 'absolute'; + moveObj.style.top = coors[1] + 18 + 'px'; + moveObj.style.left = coors[0] + 'px'; +} + +function findPos(obj) { + var curleft = curtop = 0; + if (obj.offsetParent) { + curleft = obj.offsetLeft + curtop = obj.offsetTop + while (obj = obj.offsetParent) { + curleft += obj.offsetLeft + curtop += obj.offsetTop + } + } + return [curleft, curtop]; +} \ No newline at end of file diff --git a/TEBTaskManage/war/javascript/dashboard.js b/TEBTaskManage/war/javascript/dashboard.js new file mode 100644 index 00000000..4f5d9a22 --- /dev/null +++ b/TEBTaskManage/war/javascript/dashboard.js @@ -0,0 +1,111 @@ +//Dashboard javascript +var ajaxRequest; +var iskonkat = false; +var konkat = ""; + +function confirmCategory() +{ + var x=window.confirm("Are you sure you want to delete this category ?\n(All the tasks in this category will also be deleted)"); + if (x) + window.alert("Category is succesfully deleted"); +} + +function confirmTask() +{ + var x=window.confirm("Are you sure you want to delete this task ?"); + if (x) + window.alert("Task is succesfully deleted"); +} + +function getAjax() //a function to get AJAX from browser +{ + try + { + ajaxRequest = new XMLHttpRequest(); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch (e) + { + alert("Can't get AJAX, browser error"); + return false; + } + } + } +} + +function autoCompleteAsignee(){ + getAjax(); + + var asignee = document.getElementById("asignee").value; + var asigneeindex; + var asigneearray; + var suggestion = ""; + var suggestionarray; + + var index = asignee.length; + + if(asignee !== "") + { + if (asignee.indexOf(",") !== -1) { + if (asignee.charAt(index - 1) === ',') + { + konkat = asignee.substr(0,index); + } + asigneearray = asignee.split(","); + asigneeindex = asigneearray.length - 1; + ajaxRequest.open("GET","autocompleteasignee?asignee="+asigneearray[asigneeindex],false); + } + else { + ajaxRequest.open("GET","autocompleteasignee?asignee="+asignee,false); + } + ajaxRequest.onreadystatechange = function() + { + suggestion = ajaxRequest.responseText; + suggestion = suggestion.substr(0,suggestion.length-1); + suggestionarray = suggestion.split("|"); + + var x; + x=""; + for (var i = 0; i < suggestionarray.length; i++) { + x += ""; + document.getElementById("assignee-suggest").innerHTML=x; + }; + ajaxRequest.send(); + } + else + { + konkat = ""; + } + + //ajaxRequest.open("GET","php/checkavailid.php?idinput="+document.getElementById("username").value,false); + +} + +function setCompleteStatus(idx,taskid){ + getAjax(); + var status = document.getElementById("red-text"+idx).innerHTML; + //alert("aaaaaaaaa "+document.getElementById("red-text"+idx).innerHTML); + if(status!=""){ + ajaxRequest.open("GET","updatecompletestatus?status="+status+"&taskid="+taskid,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("red-text"+idx).innerHTML = ajaxRequest.responseText; + }; + + ajaxRequest.send(); + } +} diff --git a/TEBTaskManage/war/javascript/header.js b/TEBTaskManage/war/javascript/header.js new file mode 100644 index 00000000..b23ce532 --- /dev/null +++ b/TEBTaskManage/war/javascript/header.js @@ -0,0 +1,74 @@ +var ajaxRequest; + +function getAjax() //a function to get AJAX from browser +{ + try + { + ajaxRequest = new XMLHttpRequest(); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch (e) + { + alert("Can't get AJAX, browser error"); + return false; + } + } + } +} + +function checkHeaderValidation(){ + getAjax(); + var content = document.getElementById("search_text").value; + var elmt = document.getElementById("modesearch").value; + var filter = document.getElementById("filtering").value; + var suggestion; + var suggestionarray; + + if(content!=""){ + ajaxRequest.open("GET","headervalidation?content="+content+"&idx="+elmt+"&filter="+filter,false); + ajaxRequest.onreadystatechange = function() + { + suggestion = ajaxRequest.responseText; + suggestion = suggestion.substr(0,suggestion.length-1); + suggestionarray = suggestion.split("|"); + + var x; + x=""; + for (var i = 0; i < suggestionarray.length; i++) { + x += ""; + document.getElementById("list-search").innerHTML=x; + }; + + ajaxRequest.send(); + } +} + +function filter() { + var x = document.getElementById("modesearch").value; + if (x == 2) { + document.getElementById("user-filtering").style.display = 'block'; + document.getElementById("searching-header").style.paddingLeft = '0px'; + } + else { + document.getElementById("user-filtering").style.display = 'none'; + document.getElementById("searching-header").style.paddingLeft = '100px'; + } +} + +function initialize() { + document.getElementById("user-filtering").style.display = 'none'; + document.getElementById("searching-header").style.paddingLeft = '100px'; +} diff --git a/TEBTaskManage/war/javascript/index.js b/TEBTaskManage/war/javascript/index.js new file mode 100644 index 00000000..da3ecfcb --- /dev/null +++ b/TEBTaskManage/war/javascript/index.js @@ -0,0 +1,190 @@ +// JavaScript Document +var ajaxRequest; + +function getAjax() //a function to get AJAX from browser +{ + try + { + ajaxRequest = new XMLHttpRequest(); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch (e) + { + alert("Can't get AJAX, browser error"); + return false; + } + } + } +} + + function login() { + getAjax(); + + if(document.getElementById("login1")!="" && document.getElementById("login2")!=""){ + ajaxRequest.open("GET","checkidexistence?id="+document.getElementById("login1").value+"&pass="+document.getElementById("login2").value,false);//+"&pass="+document.getElementById("input2").value + ajaxRequest.onreadystatechange = function() + { + var loginresponse = ajaxRequest.responseText; + + if(loginresponse == "true"){ + self.location="dashboard.jsp"; + }else{ + alert("Username or password is wrong"); + } + + }; + ajaxRequest.send(); + } + //if (document.getElementById("login1").value == 'meckyr' && document.getElementById("login2").value == 'meckyr') { + // self.location="page/dashboard.php"; + //} + } + var chkusername = false; + var chkpassword = false; + var cnfrmpassword = false; + var chkfullname = false; + var chkemail = false; + var chkavatar = false; + function hide_submit_button() { + document.getElementById("submit").style.display = 'none'; + } + function show_submit_button() { + if(chkusername == true && chkpassword == true && cnfrmpassword == true && chkfullname == true && chkemail == true && chkavatar == true) { + document.getElementById("submit").style.display = 'block'; + } + } + + function check_username() { + getAjax(); + + if (document.getElementById("username").value.length > 4 && document.getElementById("username").value != document.getElementById("password").value) { + var result; + + ajaxRequest.open("GET","checkavailid?idinput="+document.getElementById("username").value,false); + ajaxRequest.onreadystatechange = function() + { + document.getElementById("warning-message").innerHTML = ajaxRequest.responseText; + if(document.getElementById("warning-message").innerHTML == ""){ + chkusername = true; + show_submit_button(); + } + }; + ajaxRequest.send(); + } else { + chkusername = false; + hide_submit_button(); + document.getElementById("warning-message").innerHTML="Username must be more than 4 characters"; + } + } + + function check_password() { + if (document.getElementById("password").value.length > 7 && document.getElementById("password").value != document.getElementById("username").value && document.getElementById("password").value != document.getElementById("email").value) { + chkpassword = true; + show_submit_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chkpassword = false; + hide_submit_button(); + document.getElementById("warning-message").innerHTML="Password must be more than 7 characters"; + } + } + function confirm_password() { + if (document.getElementById("password").value == document.getElementById("password2").value) { + cnfrmpassword = true; + show_submit_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + cnfrmpassword = false; + hide_submit_button(); + document.getElementById("warning-message").innerHTML="Passwords are not match"; + } + } + function check_full_name() { + var str = document.getElementById("fullname").value; + var idx = str.indexOf(' '); + if (idx > 0 && idx < str.length - 1) { + var chr1 = str.charAt(idx - 1); + var chr2 = str.charAt(idx + 1); + if (chr1 != ' ' && chr2 != ' ') { + chkfullname = true; + show_submit_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chkfullname = false; + hide_submit_button(); + document.getElementById("warning-message").innerHTML="Name is not valid"; + } + } else { + chkfullname = false; + hide_submit_button(); + document.getElementById("warning-message").innerHTML="Name is not valid"; + } + } + + function check_email() { + getAjax(); + + var str = document.getElementById("email").value; + var at = str.indexOf('@'); + var dot = str.lastIndexOf('.'); + if (at > 0 && (dot - at) > 1 && dot < str.length - 2) { + var result; + + ajaxRequest.open("GET","checkavailemail?emailinput="+document.getElementById("email").value,false); + ajaxRequest.onreadystatechange = function() + { + document.getElementById("warning-message").innerHTML = ajaxRequest.responseText; + if(document.getElementById("warning-message").innerHTML == ""){ + chkemail = true; + show_submit_button(); + } + }; + ajaxRequest.send(); + } else { + chkemail = false; + hide_submit_button(); + document.getElementById("warning-message").innerHTML="Email is not valid"; + } + } + + function check_avatar() { + var str = document.getElementById("avatar").value; + var ext = str.substring(str.lastIndexOf('.') + 1, str.length); + if (ext.toLowerCase() == "jpeg" || ext.toLowerCase() == "jpg" || ext.toLowerCase() == "png") { + chkavatar = true; + show_submit_button(); + document.getElementById("warning-message").innerHTML=""; + } else { + chkavatar = false; + hide_submit_button(); + document.getElementById("warning-message").innerHTML="File is not an image"; + } + } + function show_register_form() { + document.getElementById("login-form").style.display = "none"; + document.getElementById("login-bottom").style.display = "none"; + document.getElementById("register-form").style.display = "block"; + document.getElementById("register-bottom").style.display = "block"; + } + function show_login_form() { + document.getElementById("register-form").style.display = "none"; + document.getElementById("register-bottom").style.display = "none"; + document.getElementById("login-form").style.display = "block"; + document.getElementById("login-bottom").style.display = "block"; + } + + //---buatan martin--- + function checkAutenthication(){ + + } \ No newline at end of file diff --git a/TEBTaskManage/war/javascript/profile.js b/TEBTaskManage/war/javascript/profile.js new file mode 100644 index 00000000..a7e5e46a --- /dev/null +++ b/TEBTaskManage/war/javascript/profile.js @@ -0,0 +1,211 @@ +var ajaxRequest; +var chkpassword = false; + +function check_password(userid) { + if (document.getElementById("newpasstext").value.length > 7) { + if (document.getElementById("newpasstext").value != userid) { + chkpassword = true; + document.getElementById("warning-message").innerHTML=""; + } + else { + chkpassword = false; + document.getElementById("warning-message").innerHTML="Password same as username !"; + } + } else { + chkpassword = false; + document.getElementById("warning-message").innerHTML="Password less than 8 characters !"; + } +} + +function getAjax() //a function to get AJAX from browser +{ + try + { + ajaxRequest = new XMLHttpRequest(); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch (e) + { + alert("Can't get AJAX, browser error"); + return false; + } + } + } +} + +function edit_aboutme(userid){ + document.getElementById("aboutme_edit").style.display = 'block'; + var val = document.getElementById("aboutme_show").innerHTML; + document.getElementById("aboutme_to_edit").value = val; + document.getElementById("aboutme_show").style.display = 'none'; + document.getElementById("right-main-body").innerHTML = ""; +} +function just_edit_aboutme(userid){ + getAjax(); + var aboutme = document.getElementById("aboutme_to_edit").value; + + ajaxRequest.open("GET","updateAboutMe?aboutme="+aboutme+"&userid="+userid,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("aboutme_show").innerHTML = ajaxRequest.responseText; + }; + + ajaxRequest.send(); + + document.getElementById("aboutme_edit").style.display = 'none'; + document.getElementById("aboutme_show").style.display = 'block'; + document.getElementById("right-main-body").innerHTML = ""; +} + +function edit_fullname(userid){ + document.getElementById("left-profile-newname").style.display = 'block'; + var val = document.getElementById("left-profile-name").innerHTML; + var l = val.length; + val = val.substring(15, l - 4); + document.getElementById("newname").value = val; + document.getElementById("left-profile-name").style.display = 'none'; + document.getElementById("right-profile-editname").innerHTML = "

done

"; +} +function just_edit_fullname(userid){ + getAjax(); + var name = document.getElementById("newname").value; + + ajaxRequest.open("GET","updateFullNameProf?name="+name+"&userid="+userid,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("left-profile-name").innerHTML = "

Full Name : " + ajaxRequest.responseText + "

"; + }; + + ajaxRequest.send(); + + document.getElementById("left-profile-newname").style.display = 'none'; + document.getElementById("left-profile-name").style.display = 'block'; + document.getElementById("right-profile-editname").innerHTML = "

edit

"; +} + +function edit_birthday(userid){ + document.getElementById("left-profile-newbirthday").style.display = 'block'; + var val = document.getElementById("left-profile-birthday").innerHTML; + var l = val.length; + val = val.substring(16, l - 4); + document.getElementById("newbirthday").value = val; + document.getElementById("left-profile-birthday").style.display = 'none'; + document.getElementById("right-profile-editbirthday").innerHTML = "

done

"; +} +function just_edit_birthday(userid){ + getAjax(); + var birthday = document.getElementById("newbirthday").value; + + ajaxRequest.open("GET","updateBirthdayProf?birthday="+birthday+"&userid="+userid,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("left-profile-birthday").innerHTML = "

Birth Date : " + ajaxRequest.responseText + "

"; + }; + + ajaxRequest.send(); + + document.getElementById("left-profile-newbirthday").style.display = 'none'; + document.getElementById("left-profile-birthday").style.display = 'block'; + document.getElementById("right-profile-editbirthday").innerHTML = "

edit

"; +} + + +function edit_email(userid){ + document.getElementById("left-profile-newemail").style.display = 'block'; + var val = document.getElementById("left-profile-email").innerHTML; + var l = val.length; + val = val.substring(14, l - 8); + document.getElementById("newemail").value = val; + document.getElementById("left-profile-email").style.display = 'none'; + document.getElementById("right-profile-editemail").innerHTML = "

done

"; +} +function just_edit_email(userid){ + getAjax(); + var email = document.getElementById("newemail").value; + + ajaxRequest.open("GET","updateEmailProf?email="+email+"&userid="+userid,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("left-profile-email").innerHTML = "

Email : " + ajaxRequest.responseText + "

"; + }; + + ajaxRequest.send(); + + document.getElementById("left-profile-newemail").style.display = 'none'; + document.getElementById("left-profile-email").style.display = 'block'; + document.getElementById("right-profile-editemail").innerHTML = "

edit

"; +} + +function edit_password(userid) { + document.getElementById("password_form").style.display = 'block'; + document.getElementById("change_password").innerHTML = "Save Password"; +} + +function just_edit_password(userid) { + if (chkpassword) { + getAjax(); + var newpass = document.getElementById("newpasstext").value; + + ajaxRequest.open("GET","changepassword?newpass="+newpass+"&userid="+userid,false); + + ajaxRequest.onreadystatechange = function() + { + alert("Succes Update"); + }; + + ajaxRequest.send(); + + document.getElementById("password_form").style.display = 'none'; + document.getElementById("change_password").style.display = 'block'; + document.getElementById("change_password").innerHTML = "Change Password"; + } +} + +function edit_avatar(userid){ + document.getElementById("uploader").style.display = 'block'; + document.getElementById("upload_button").innerHTML = "Save Avatar"; +} + +function just_edit_avatar(userid){ + getAjax(); + + var newava = document.getElementById("inputfileid").value; + + ajaxRequest.open("GET","../php/getavatar.php?newava="+newava+"&userid="+userid,false); + //ajaxRequest.onreadystatechange = function() + //{ + // alert(ajaxRequest.responseText); + //} + alert(newava); + + ajaxRequest.send(); + + document.getElementById("uploader").style.display = 'none'; + document.getElementById("upload_button").style.display = 'block'; + document.getElementById("upload_button").innerHTML = "Upload New Avatar"; +} + +function hidden_update_box(){ + document.getElementById("aboutme_edit").style.display = 'none'; + document.getElementById("left-profile-newemail").style.display = 'none'; + document.getElementById("left-profile-newname").style.display = 'none'; + document.getElementById("left-profile-newbirthday").style.display = 'none'; + document.getElementById("uploader").style.display = 'none'; + document.getElementById("password_form").style.display = 'none'; +} + diff --git a/TEBTaskManage/war/javascript/search_result.js b/TEBTaskManage/war/javascript/search_result.js new file mode 100644 index 00000000..6701f698 --- /dev/null +++ b/TEBTaskManage/war/javascript/search_result.js @@ -0,0 +1,44 @@ +var ajaxRequest; + +function getAjax() //a function to get AJAX from browser +{ + try + { + ajaxRequest = new XMLHttpRequest(); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch (e) + { + alert("Can't get AJAX, browser error"); + return false; + } + } + } +} + +function setCompleteStatus(idx,taskid){ + getAjax(); + var status = document.getElementById("red-text"+idx).innerHTML; + //alert("aaaaaaaaa "+document.getElementById("red-text"+idx).innerHTML); + if(status!=""){ + ajaxRequest.open("GET","../php/updatecompletestatus.php?status="+status+"&taskid="+taskid,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("red-text"+idx).innerHTML = ajaxRequest.responseText; + }; + + ajaxRequest.send(); + } +} diff --git a/TEBTaskManage/war/javascript/task_page.js b/TEBTaskManage/war/javascript/task_page.js new file mode 100644 index 00000000..bafffc49 --- /dev/null +++ b/TEBTaskManage/war/javascript/task_page.js @@ -0,0 +1,242 @@ +var ajaxRequest; + +function getAjax() //a function to get AJAX from browser +{ + try + { + ajaxRequest = new XMLHttpRequest(); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); + } + catch (e) + { + try + { + ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); + } + catch (e) + { + alert("Can't get AJAX, browser error"); + return false; + } + } + } +} + +function addComment(taskid,index){ + getAjax(); + var comment = document.getElementById("textarea-comment").value; + if(comment!=""){ + ajaxRequest.open("GET","updatecomment?comment="+comment+"&taskid="+taskid+"&index="+index,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("user-comment").innerHTML = ajaxRequest.responseText; + }; + + ajaxRequest.send(); + } +} + +function nextPage(taskid,index){ + getAjax(); + ajaxRequest.open("GET","nextcomment?taskid="+taskid+"&index="+index,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("user-comment").innerHTML = ajaxRequest.responseText; + }; + + ajaxRequest.send(); +} + +function prevPage(taskid,index){ + getAjax(); + ajaxRequest.open("GET","prevcomment?taskid="+taskid+"&index="+index,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("user-comment").innerHTML = ajaxRequest.responseText; + }; + + ajaxRequest.send(); + +} + +function deleteComment(commentid,taskid,index){ + getAjax(); + ajaxRequest.open("GET","deleteComment?commentid="+commentid+"&taskid="+taskid+"&index="+index,false); + ajaxRequest.onreadystatechange = function() + { + document.getElementById("user-comment").innerHTML = ajaxRequest.responseText; + }; + + ajaxRequest.send(); +} + +function edit_deadline() { + document.getElementById("deadline_edit").style.display = 'block'; + document.getElementById("deadline_done").style.display = 'none'; +} +function finish_deadline(taskid) { + getAjax(); + + var deadlinetime = document.getElementById("datedeadlineinput").value + " " + document.getElementById("timedeadlineinput").value; + ajaxRequest.open("GET","changedeadline?deadlinetime="+deadlinetime+"&taskid="+taskid,false); + ajaxRequest.onreadystatechange = function() + { + document.getElementById("left-main-body").innerHTML = ajaxRequest.responseText; + }; + ajaxRequest.send(); + + + document.getElementById("deadline_edit").style.display = 'none'; + document.getElementById("deadline_done").style.display = 'block'; +} +function edit_assignee() { + document.getElementById("assignee_edit").style.display = 'block'; + document.getElementById("assignee_done").style.display = 'none'; +} +function finish_assignee(taskid) { + getAjax(); + var listAssigne = document.getElementById("task-assignee").value; + if(listAssigne!=""){ + ajaxRequest.open("GET","updateSharedWithDB?listAssigne="+listAssigne+"&taskid="+taskid,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("left-main-body2").innerHTML = ajaxRequest.responseText; + }; + ajaxRequest.send(); + } + document.getElementById("assignee_edit").style.display = 'none'; + document.getElementById("assignee_done").style.display = 'block'; + checkIsMeAssignee(taskid); +} + +function checkIsMeAssignee(taskid){ + getAjax(); + ajaxRequest.open("GET","deleteassignee?taskid="+taskid,false); + + ajaxRequest.onreadystatechange = function() + { + if(ajaxRequest.responseText == "false"){ + document.getElementById("editAssignee").style.display = 'none'; + document.getElementById("editDeadline").style.display = 'none'; + document.getElementById("editStatus").style.display = 'none'; + document.getElementById("editTag").style.display = 'none'; + } + }; + ajaxRequest.send(); +} +function edit_tag() { + document.getElementById("tag_edit").style.display = 'block'; + document.getElementById("tag_done").style.display = 'none'; +} +function finish_tag(taskid) { + getAjax(); + var tag = document.getElementById("tag-edit").value; + if(tag!=""){ + ajaxRequest.open("GET","updateTagDB?tag="+tag+"&taskid="+taskid,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("left-main-body3").innerHTML = ajaxRequest.responseText; + }; + ajaxRequest.send(); + } + document.getElementById("tag_edit").style.display = 'none'; + document.getElementById("tag_done").style.display = 'block'; +} +function check_html5() { + if (navigator.userAgent.indexOf('Chrome') != -1 || navigator.userAgent.indexOf('Opera') != -1){ + document.getElementById("date_html5").style.display = 'block'; + document.getElementById("date_html").style.display = 'none'; + } else { + document.getElementById("date_html5").style.display = 'none'; + document.getElementById("date_html").style.display = 'block'; + } +} +function myFunction(e) +{ + e.preventDefault(); + var x; + var name = document.getElementById("textarea-comment").value; + if (name!=null) + { + x="
meckyr
Post at 4.30 AM, February 4th, 2013

"+name+"

"; + document.getElementById("new-comment").innerHTML=x; + } +} + +function autoCompleteAsignee() { + getAjax(); + + var asignee = document.getElementById("task-assignee").value; + var asigneeindex; + var asigneearray; + var suggestion = ""; + var suggestionarray; + + var index = asignee.length; + + if(asignee!="") + { + if (asignee.indexOf(",") !== -1) { + if (asignee.charAt(index - 1) === ',') + { + konkat = asignee.substr(0,index); + } + asigneearray = asignee.split(","); + asigneeindex = asigneearray.length - 1; + ajaxRequest.open("GET","autocompleteasignee?asignee="+asigneearray[asigneeindex],false); + } + else { + ajaxRequest.open("GET","autocompleteasignee?asignee="+asignee,false); + } + + ajaxRequest.onreadystatechange = function() + { + suggestion = ajaxRequest.responseText; + suggestion = suggestion.substr(0,suggestion.length-1); + suggestionarray = suggestion.split("|"); + //alert(suggestionarray); + + var x; + x=""; + for (var i = 0; i < suggestionarray.length; i++) { + x += ""; + document.getElementById("shared-with").innerHTML=x; + }; + + ajaxRequest.send(); + } + else + { + konkat = ""; + } +} + +function setCompleteStatus(taskid){ + getAjax(); + var status = document.getElementById("left-main-body4").innerHTML; + status = status.substring(9,status.length); + if(status!=""){ + ajaxRequest.open("GET","updatecompletestatus?status="+status+"&taskid="+taskid,false); + + ajaxRequest.onreadystatechange = function() + { + document.getElementById("left-main-body4").innerHTML = "Status : "+ajaxRequest.responseText; + }; + + ajaxRequest.send(); + } +} \ No newline at end of file diff --git a/TEBTaskManage/war/listCategory.jsp b/TEBTaskManage/war/listCategory.jsp new file mode 100644 index 00000000..e7192243 --- /dev/null +++ b/TEBTaskManage/war/listCategory.jsp @@ -0,0 +1,124 @@ +<%-- + Document : listCategory + Created on : Apr 9, 2013, 7:09:16 PM + Author : User +--%> + +<%@page import="java.sql.ResultSet"%> +<%@page import="java.sql.Statement"%> +<%@page import="java.sql.Connection"%> +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<%@page import="Class.*"%> +<%@page import="Servlet.*"%> +<%@page import="java.util.HashMap"%> +<%@page import="java.util.List" %> +<%@page import="com.google.appengine.api.datastore.DatastoreService" %> +<%@page import="com.google.appengine.api.datastore.DatastoreServiceFactory" %> +<%@page import="javax.jdo.JDOHelper" %> +<%@page import="javax.jdo.PersistenceManager" %> +<%@page import="javax.jdo.PersistenceManagerFactory" %> +<%@page import="javax.jdo.Query" %> + + + + + + + JSP Page + + + <% + /*session management*/ + String userActive = ""; + if(request.getSession().getAttribute("userlistapp")==null){ + response.sendRedirect("index.jsp"); + }else{ + userActive = request.getSession().getAttribute("userlistapp").toString(); + } + + try{ + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("select from category"); + List result = (List)q.execute(); + + out.print("
"); + out.print("

"); + + int i = 0; + + Function FuncClass = new Function(); + + if (!result.isEmpty()) { + for (Category rs : result) { + out.print("
"); + out.print("
"+rs.categoryname +"
"); + + if(userActive.equals(rs.username)){ + out.print(""); + out.print("
"); + out.print("
"); + out.print("
Created by : "+rs.username+", at "+rs.createdate+"

"); + } + else { + out.print("
"); + out.print("
"); + out.print("
Created by : "+rs.username+", at "+rs.createdate+"

"); + } + + out.print("
    "); + + q = pm.newQuery("select from" +Task.class.getName()+" where categoryid='"+rs.categoryid+"'" ); + List result2 = (List)q.execute(); + + if (!result2.isEmpty()) { + for (Task rs2 : result2) { + String taskid = FuncClass.getTaskId(rs2.taskname, String.valueOf(rs2.categoryid)); + out.print("
  • "+rs2.taskname+"
    submit by : "+rs2.username+", deadline : "+rs2.deadline+", status : "+rs2.status+"
    "); + out.print("
    "); + + if(userActive.equals(rs2.username)){ + out.print("Delete Task"); + } + + if(FuncClass.isAssignee(userActive, taskid)){ + out.print(""); + } + + out.print("


    "); + out.print("
    Tag :
    "); + + q = pm.newQuery("select tagid from" +Task_Tag.class.getName()+" where taskid='"+taskid+"'" ); + List result3 = (List)q.execute(); + + if (!result3.isEmpty()) { + for (Task_Tag rs3 : result3) { + String tagname = FuncClass.getTagname(String.valueOf(rs3.tagid)); + out.print(""+tagname+""); + } + } + + out.print("
    "); + out.print("

  • "); + } + } + + out.print("


    "); + if(FuncClass.isResponsibility(String.valueOf(rs.categoryid), userActive)){ + out.print(""); + } + out.print("
"); + out.print(""); + out.print("

"); + } + } + q.closeAll(); + pm.close(); + }catch(Exception e){ + + } + + out.print(""); + + %> + + diff --git a/TEBTaskManage/war/profile.jsp b/TEBTaskManage/war/profile.jsp new file mode 100644 index 00000000..7fd7c9e0 --- /dev/null +++ b/TEBTaskManage/war/profile.jsp @@ -0,0 +1,199 @@ +<%-- + Document : profile + Created on : Apr 6, 2013, 8:18:32 AM + Author : VAIO +--%> + +<%@page import="java.util.List" %> +<%@page import="java.util.Iterator" %> +<%@page import="java.sql.ResultSet"%> +<%@page import="javax.jdo.PersistenceManager"%> +<%@page import="javax.jdo.Query"%> +<%@page contentType="text/html" pageEncoding="UTF-8"%> +<%@page import="java.util.HashMap"%> +<%@page import="Servlet.*"%> +<%@page import="Class.*"%> + + + + + Profile + <% + String userAgent = request.getHeader("user-agent").toLowerCase(); + if (userAgent.matches(".*(android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|symbian|treo|up\\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino).*") || userAgent.substring(0, 4).matches("1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\\-(n|u)|c55\\/|capi|ccwa|cdm\\-|cell|chtm|cldc|cmd\\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\\-s|devi|dica|dmob|do(c|p)o|ds(12|\\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\\-|_)|g1 u|g560|gene|gf\\-5|g\\-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd\\-(m|p|t)|hei\\-|hi(pt|ta)|hp( i|ip)|hs\\-c|ht(c(\\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\\-(20|go|ma)|i230|iac( |\\-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc\\-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|e\\-|e\\/|\\-[a-w])|libw|lynx|m1\\-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m\\-cr|me(di|rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\\-2|po(ck|rt|se)|prox|psio|pt\\-g|qa\\-a|qc(07|12|21|32|60|\\-[2-7]|i\\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\\-|oo|p\\-)|sdk\\/|se(c(\\-|0|1)|47|mc|nd|ri)|sgh\\-|shar|sie(\\-|m)|sk\\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\\-|v\\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\\-|tdg\\-|tel(i|m)|tim\\-|t\\-mo|to(pl|sh)|ts(70|m\\-|m3|m5)|tx\\-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|xda(\\-|2|g)|yas\\-|your|zeto|zte\\-")) { + out.println(""); + } else { + out.println(""); + } + %> + + + + + + <% + /*session management*/ + String userActive = ""; + if(request.getSession().getAttribute("userlistapp")==null){ + response.sendRedirect("index.jsp"); + }else{ + userActive = request.getSession().getAttribute("userlistapp").toString(); + } + %> +
+ + +

+ +
+
+
+ Photo profile" width="250" height="325"/> +
+
+

<% out.print(userShow.get("username")); %>

+ <% + if(userActive.equals(usernameToShow)){ + out.print(""); + out.print("
"); + out.print("
"); + out.print(" "); + out.print(" "); + out.print("
"); + out.print("
"); + + out.print(""); + out.print("
"); + out.print("
"); + out.print("
New Password
:
"); + out.print("
"); + out.print("
"); + out.print("
"); + out.print("
"); + } + %> +

Joined on : <% out.print(userShow.get("join"));%>

+
+

About Me :

+
+ <% + if(userActive.equals(usernameToShow)){ + out.print("

edit

"); + }else{ + out.print("
"); + } + %> +
+
+
+
<% out.print(userShow.get("aboutme"));%>
+
+
+
+
+

+

+
+
+

Full Name : <% out.print(userShow.get("fullname"));%>

+

Full Name :

+
+ <% + if(userActive.equals(usernameToShow)){ + out.print("

edit

"); + } + %> +
+
+


+
+

Birth Date : <% out.print(userShow.get("birthday"));%>

+

Birth Date :

+
+ <% + if(userActive.equals(usernameToShow)){ + out.print("

edit

"); + } + %> +
+
+


+
+

Email : <% out.print(userShow.get("email"));%>

+

Email :

+
+ <% + if(userActive.equals(usernameToShow)){ + out.print("

edit

"); + } + %> +
+
+
+


+
+
+

Unfinished Task

+
+
+
+ +
+
    + <% + PersistenceManager pm = PMF.get().getPersistenceManager(); + Query q = pm.newQuery("SELECT taskid FROM " + Assignee.class.getName() + " WHERE username='"+usernameToShow+"'"); + List rs = (List) q.execute(); + Iterator iter = rs.iterator(); + while(iter.hasNext()){ + HashMap task = func.GetTask(String.valueOf(iter.next().intValue())); + if (task != null){ + if(task.get("status").equals("UNCOMPLETE")){ + out.print("
  • "+task.get("taskname")+"
  • "); + } + } + } + %> +
+
+
+ +
+
+

Finished Task

+

+
+
+ +
+
    + <% + + q = pm.newQuery("SELECT taskid FROM " + Assignee.class.getName() + " WHERE username='"+usernameToShow+"'"); + rs = (List) q.execute(); + Iterator iter2 = rs.iterator(); + while(iter2.hasNext()){ + HashMap task = func.GetTask(String.valueOf(iter2.next().intValue())); + if (task != null){ + if(task.get("status").equals("COMPLETE")){ + out.print("
  • "+task.get("taskname")+"
  • "); + } + } + } + q.closeAll(); + pm.close(); + %> +
+
+
+
+
+ +