1 package com.dotmarketing.portlets.mailinglists.factories; 2 3 import java.util.Iterator ; 4 import java.util.List ; 5 6 import com.dotmarketing.db.DotHibernate; 7 import com.dotmarketing.factories.InodeFactory; 8 import com.dotmarketing.factories.RoleFactory; 9 import com.dotmarketing.portlets.mailinglists.model.MailingList; 10 import com.dotmarketing.util.Config; 11 import com.dotmarketing.util.WebKeys; 12 import com.liferay.portal.PortalException; 13 import com.liferay.portal.SystemException; 14 import com.liferay.portal.model.Role; 15 import com.liferay.portal.model.User; 16 20 public class MailingListFactory { 21 22 public static boolean isMailingListManager (User user) throws PortalException, SystemException { 23 List roles = RoleFactory.getAllRolesForUser(user.getUserId()); 24 Iterator rolesIt = roles.iterator(); 25 boolean isMailingListAdmin = false; 26 while (rolesIt.hasNext()) { 27 Role role = (Role) rolesIt.next(); 28 if (role.getName().equals(Config.getStringProperty("MAILINGLISTS_ADMIN_ROLE"))) { 29 isMailingListAdmin = true; 30 break; 31 } 32 } 33 return isMailingListAdmin; 34 } 35 36 37 public static java.util.List getMailingListsByUser(User u) { 38 DotHibernate dh = new DotHibernate(MailingList.class); 39 dh.setQuery( 40 "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList where user_id = ? order by title"); 41 dh.setParam(u.getUserId()); 42 return dh.list(); 43 } 44 45 public static java.util.List getMailingListsByUser(User u, String orderby) { 46 DotHibernate dh = new DotHibernate(MailingList.class); 47 dh.setQuery( 48 "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList where user_id = ? order by " + orderby); 49 dh.setParam(u.getUserId()); 50 return dh.list(); 51 } 52 53 public static java.util.List getAllMailingLists() { 54 DotHibernate dh = new DotHibernate(MailingList.class); 55 dh.setQuery( 56 "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList order by title"); 57 return dh.list(); 58 } 59 public static java.util.List getAllMailingLists(String orderby) { 60 DotHibernate dh = new DotHibernate(MailingList.class); 61 dh.setQuery( 62 "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList order by " + orderby); 63 return dh.list(); 64 } 65 66 67 public static java.util.List getAllPublicLists() { 68 DotHibernate dh = new DotHibernate(MailingList.class); 69 dh.setQuery( 70 "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList where public_list = " + com.dotmarketing.db.DbConnectionFactory.getDBTrue()); 71 return dh.list(); 72 } 73 74 public static MailingList newInstance() { 75 MailingList m = new MailingList(); 76 m.setPublicList(false); 77 m.setSubscriberCount(0); 78 return m; 79 80 } 81 82 83 public static MailingList getUnsubscribersMailingList() { 84 DotHibernate dh = new DotHibernate(MailingList.class); 85 dh.setQuery( 86 "from inode in class com.dotmarketing.portlets.mailinglists.model.MailingList where title = ? and user_id=? and public_list = " + com.dotmarketing.db.DbConnectionFactory.getDBTrue()); 87 dh.setParam(WebKeys.MAILING_LIST_UNSUBSCRIBERS); 88 dh.setParam(WebKeys.MAILING_LIST_SYSTEM); 89 MailingList ml = (MailingList) dh.load(); 90 91 if(ml.getInode() ==0){ 92 ml = newInstance(); 93 ml.setUserId(WebKeys.MAILING_LIST_SYSTEM); 94 ml.setTitle(WebKeys.MAILING_LIST_UNSUBSCRIBERS); 95 ml.setPublicList(true); 96 } 97 98 InodeFactory.saveInode(ml); 99 100 return ml; 101 } 102 103 104 105 } 106 | Popular Tags |