1 31 32 package org.opencms.workplace.tools.workplace.broadcast; 33 34 import org.opencms.jsp.CmsJspActionElement; 35 import org.opencms.main.OpenCms; 36 import org.opencms.util.CmsStringUtil; 37 import org.opencms.widgets.CmsDisplayWidget; 38 import org.opencms.widgets.CmsTextareaWidget; 39 import org.opencms.workplace.CmsWidgetDialogParameter; 40 import org.opencms.workplace.list.CmsHtmlList; 41 42 import java.util.ArrayList ; 43 import java.util.Iterator ; 44 import java.util.List ; 45 46 import javax.servlet.http.HttpServletRequest ; 47 import javax.servlet.http.HttpServletResponse ; 48 import javax.servlet.jsp.PageContext ; 49 50 59 public class CmsBroadcastMessageDialog extends A_CmsMessageDialog { 60 61 62 public static final String KEY_PREFIX = "message"; 63 64 69 public CmsBroadcastMessageDialog(CmsJspActionElement jsp) { 70 71 super(jsp); 72 } 73 74 81 public CmsBroadcastMessageDialog(PageContext context, HttpServletRequest req, HttpServletResponse res) { 82 83 this(new CmsJspActionElement(context, req, res)); 84 } 85 86 89 public void actionCommit() { 90 91 List errors = new ArrayList (); 92 93 try { 94 if (isForAll()) { 95 OpenCms.getSessionManager().sendBroadcast(getCms(), m_msgInfo.getMsg()); 96 } else { 97 List ids = CmsStringUtil.splitAsList(getParamSessionids(), CmsHtmlList.ITEM_SEPARATOR); 98 Iterator itIds = ids.iterator(); 99 while (itIds.hasNext()) { 100 String id = itIds.next().toString(); 101 OpenCms.getSessionManager().sendBroadcast(getCms(), m_msgInfo.getMsg(), id); 102 } 103 } 104 } catch (Throwable t) { 105 errors.add(t); 106 } 107 setCommitErrors(errors); 109 } 110 111 114 protected String createDialogHtml(String dialog) { 115 116 StringBuffer result = new StringBuffer (1024); 117 118 result.append(createWidgetTableStart()); 119 result.append(createWidgetErrorHeader()); 121 122 if (dialog.equals(PAGES[0])) { 123 result.append(dialogBlockStart(key(Messages.GUI_MESSAGE_EDITOR_LABEL_HEADER_BLOCK_0))); 125 result.append(createWidgetTableStart()); 126 result.append(createDialogRowsHtml(0, 1)); 127 result.append(createWidgetTableEnd()); 128 result.append(dialogBlockEnd()); 129 result.append(dialogBlockStart(key(Messages.GUI_MESSAGE_EDITOR_LABEL_CONTENT_BLOCK_0))); 130 result.append(createWidgetTableStart()); 131 result.append(createDialogRowsHtml(2, 2)); 132 result.append(createWidgetTableEnd()); 133 result.append(dialogBlockEnd()); 134 } 135 136 result.append(createWidgetTableEnd()); 137 return result.toString(); 138 } 139 140 143 protected void defineWidgets() { 144 145 initMessageObject(); 147 148 setKeyPrefix(KEY_PREFIX); 149 150 addWidget(new CmsWidgetDialogParameter(m_msgInfo, "from", PAGES[0], new CmsDisplayWidget())); 151 addWidget(new CmsWidgetDialogParameter(m_msgInfo, "to", PAGES[0], new CmsDisplayWidget())); 152 addWidget(new CmsWidgetDialogParameter(m_msgInfo, "msg", PAGES[0], new CmsTextareaWidget(12))); 153 } 154 } | Popular Tags |