All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.semanticwb.portal.resources.CommentSwf Maven / Gradle / Ivy

The newest version!
/*
 * SemanticWebBuilder es una plataforma para el desarrollo de portales y aplicaciones de integración,
 * colaboración y conocimiento, que gracias al uso de tecnología semántica puede generar contextos de
 * información alrededor de algún tema de interés o bien integrar información y aplicaciones de diferentes
 * fuentes, donde a la información se le asigna un significado, de forma que pueda ser interpretada y
 * procesada por personas y/o sistemas, es una creación original del Fondo de Información y Documentación
 * para la Industria INFOTEC, cuyo registro se encuentra actualmente en trámite.
 *
 * INFOTEC pone a su disposición la herramienta SemanticWebBuilder a través de su licenciamiento abierto al público (‘open source’),
 * en virtud del cual, usted podrá usarlo en las mismas condiciones con que INFOTEC lo ha diseñado y puesto a su disposición;
 * aprender de él; distribuirlo a terceros; acceder a su código fuente y modificarlo, y combinarlo o enlazarlo con otro software,
 * todo ello de conformidad con los términos y condiciones de la LICENCIA ABIERTA AL PÚBLICO que otorga INFOTEC para la utilización
 * del SemanticWebBuilder 4.0.
 *
 * INFOTEC no otorga garantía sobre SemanticWebBuilder, de ninguna especie y naturaleza, ni implícita ni explícita,
 * siendo usted completamente responsable de la utilización que le dé y asumiendo la totalidad de los riesgos que puedan derivar
 * de la misma.
 *
 * Si usted tiene cualquier duda o comentario sobre SemanticWebBuilder, INFOTEC pone a su disposición la siguiente
 * dirección electrónica:
 *  http://www.semanticwebbuilder.org
 */
package org.semanticwb.portal.resources;

import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.util.StringTokenizer;
import org.semanticwb.Logger;
import org.semanticwb.SWBPlatform;
import org.semanticwb.SWBPortal;
import org.semanticwb.SWBUtils;
import org.semanticwb.model.Resource;
import org.semanticwb.model.User;
import org.semanticwb.model.WebPage;
import org.semanticwb.portal.admin.admresources.util.WBAdmResourceUtils;
import org.semanticwb.portal.api.SWBParamRequest;
import org.semanticwb.portal.api.SWBResourceException;
import org.semanticwb.portal.api.SWBResourceURL;
import org.semanticwb.portal.api.SWBResourceURLImp;
import org.semanticwb.portal.util.FileUpload;


// TODO: Auto-generated Javadoc
/**
 * Despliega los elementos indicados en la administracion de este recurso a fin 
 * de que los usuarios finales puedan enviar comentarios a una cuenta de 
 * correo en específico a través de una interfaz hecha con archivos de 
 * tipo Flash.
 *
 * Displays the interface configured in this resource's administration mode, so 
 * that the end users send their comments to a specific e-mail account through a
 * Flash type interface.
 *
 * @author : Vanessa Arredondo Núñez
 * @version 1.0
 * @see org.semanticwb.portal.resources.Comment
 */

public class CommentSwf extends Comment {
    
    
    /**
     * Creates a new instance of ComentSwf.
     */
    public CommentSwf() {
    }

    /**
     * Obtiene los datos de la configuración del recurso y genera un objeto
     * Document con ellos. 

Gets this resource's configuration * data and generates a Document object with it

* * @param request la petición HTTP generada por el usuario.

the user's HTTP request

* @param response la respuesta hacia el usuario.

the response to the user

* @param reqParams el objeto generado por SWB y asociado a la petición * del usuario.

the object gnerated by SWB and asociated to the user's request

* @return estructura en datos de la interfaz de captura de comentarios. * * @throws SWBResourceException si se produce en getDomEmail. *

if getDomEmail propagates this exception

. * @throws IOException Signals that an I/O exception has occurred. */ @Override public Document getDom(HttpServletRequest request, HttpServletResponse response, SWBParamRequest reqParams) throws SWBResourceException, IOException { Resource base = getResourceBase(); String webWorkPath = "/work"; String name = getClass().getName().substring( getClass().getName().lastIndexOf(".") + 1); String path = SWBPlatform.getContextPath() + "/swbadmin/xsl/" + name + "/"; String action = (null != request.getParameter("com_act") && !"".equals(request.getParameter("com_act").trim()) ? request.getParameter("com_act").trim() : "com_step2"); Logger log = SWBUtils.getLogger(Comment.class); try { String lang = reqParams.getUser().getLanguage(); WebPage topic = reqParams.getWebPage(); Document dom = SWBUtils.XML.getNewDocument(); if ("com_step3".equals(action)) { //TODO:reparar //dom = getDomEmail(request, response, reqParams); // Envia correo } else { // Nueva ventana con formulario User user = reqParams.getUser(); SWBResourceURLImp url = new SWBResourceURLImp(request, base, reqParams.getWebPage(), SWBResourceURL.UrlType_RENDER); url.setResourceBase(base); url.setMode(SWBResourceURLImp.Mode_VIEW); url.setWindowState(SWBResourceURLImp.WinState_MAXIMIZED); url.setParameter("com_act", "com_step3"); url.setTopic(topic); url.setCallMethod(reqParams.Call_DIRECT); Element root = dom.createElement("form"); root.setAttribute("path", path); root.setAttribute("accion", url.toString()); root.setAttribute("styleClass", base.getAttribute("styleClass", "").equals("") ? "
" : "
"); root.setAttribute("styleClassClose", "
"); if (!"".equals(base.getAttribute("swf", "").trim())) { String strSwfvar = "accion=" + url.toString(); root.setAttribute("swf", webWorkPath + "/" + base.getAttribute("swf").trim()); NodeList ndlSwfvar = base.getDom().getElementsByTagName( "swfvar"); for (int i = 0; i < ndlSwfvar.getLength(); i++) { strSwfvar += "&" + ndlSwfvar.item(i).getChildNodes( ).item(0).getNodeValue(); } if (user.isSigned()) { strSwfvar += "&txtFromName="; strSwfvar += ("1".equals(base.getAttribute("firstname", "0").trim()) && (null != user.getFirstName() && !"".equals(user.getFirstName().trim())) ? user.getFirstName().trim() : ""); strSwfvar += ("1".equals(base.getAttribute("lastname", "0").trim()) && (null != user.getLastName() && !"".equals(user.getLastName().trim())) ? " " + user.getLastName().trim() : ""); strSwfvar += ("1".equals(base.getAttribute("middlename", "0").trim()) && (null != user.getSecondLastName() && !"".equals(user.getSecondLastName().trim())) ? " " + user.getSecondLastName().trim() : ""); strSwfvar += "&txtFromEmail="; strSwfvar += (null != user.getEmail() && !"".equals(user.getEmail().trim()) ? " " + user.getEmail().trim() : ""); } strSwfvar += "&txtTopic=" + topic.getTitle(lang); strSwfvar += "&txtTopicDesc=" + topic.getDescription(lang); root.setAttribute("swfvars", strSwfvar); } dom.appendChild(root); } return dom; } catch (Exception e) { log.error("Error while generating the comments form in resource " + base.getResourceType().getResourceClassName() + " with identifier " + base.getId() + " - " + base.getTitle(), e); } return null; } /** * Muestra la vista para los datos de administración de este recurso * y realiza las operaciones de almacenamiento de información necesarias. *

Shows the data administration screen for this resource and performs the * data store operations needed.

* @param request la petición HTTP generada por el usuario.

the user's HTTP request

* @param response la respuesta hacia el usuario.

the response to the user

* @param paramsRequest el objeto generado por SWB y asociado a la petición * del usuario.

the object gnerated by SWB and asociated to the user's request

* @throws SWBResourceException si no existe el archivo de mensajes del idioma utilizado. *

if there is no file message of the corresponding language.

* @throws IOException si no se pueden extraer los datos del request a través * del {@link org.semanticwb.portal.util.FileUpload FileUpload} utilizado para ello. *

if request data cannot be extracted through the FileUpload object used.

*/ @Override public void doAdmin(HttpServletRequest request, HttpServletResponse response, SWBParamRequest paramsRequest) throws SWBResourceException, IOException { StringBuffer ret = new StringBuffer(""); Resource base = getResourceBase(); WBAdmResourceUtils admResUtils = new WBAdmResourceUtils(); String msg = paramsRequest.getLocaleString("msgUndefinedOperation"); String action = (null != request.getParameter("act") && !"".equals(request.getParameter("act").trim()) ? request.getParameter("act").trim() : paramsRequest.getAction()); String webWorkPath = "/work"; String name = getClass().getName().substring( getClass().getName().lastIndexOf(".") + 1); String path = SWBPlatform.getContextPath() + "/swbadmin/xsl/" + name + "/"; Logger log = SWBUtils.getLogger(Comment.class); if (action.equals("add") || action.equals("edit")) { ret.append(getForm(request, paramsRequest)); } else if(action.equals("update")) { FileUpload fup = new FileUpload(); try { fup.getFiles(request, response); String applet = null; String value = (null != fup.getFileName("template") && !"".equals(fup.getFileName("template").trim()) ? fup.getFileName("template").trim() : null); if (value != null || !"".equals(base.getAttribute( "template", "").trim())) { if (value != null) { String file = admResUtils.getFileName(base, value); if (file != null && !file.trim().equals("")) { if (!admResUtils.isFileType(file, "xsl|xslt")) { msg = paramsRequest.getLocaleString("msgErrFileType") + " xsl, xslt: " + file; } else { applet = admResUtils.uploadFileParsed(base, fup, "template", request.getSession().getId()); if (applet != null && !applet.trim().equals("")) { base.setAttribute("template", file); path = webWorkPath + "/"; } else { msg = paramsRequest.getLocaleString("msgErrUploadFile") + " " + value + "."; } } } else { msg = paramsRequest.getLocaleString("msgErrUploadFile") + " " + value + "."; } } } value = (null != fup.getValue("noimg") && !"".equals(fup.getValue("noimg").trim()) ? fup.getValue("noimg").trim() : "0"); if ("1".equals(value) && !"".equals(base.getAttribute("img", "").trim())) { SWBUtils.IO.removeDirectory(SWBPortal.getWorkPath() + base.getWorkPath() + "/" + base.getAttribute("img").trim()); base.removeAttribute("img"); } else { value = (null != fup.getFileName("img") && !"".equals(fup.getFileName("img").trim()) ? fup.getFileName("img").trim() : null); if (value != null) { String file = admResUtils.getFileName(base, value); if (file != null && !file.trim().equals("")) { if (!admResUtils.isFileType(file, "bmp|jpg|jpeg|gif")) { msg = paramsRequest.getLocaleString("msgErrFileType") + " bmp, jpg, jpeg, gif: " + file; } else { if (admResUtils.uploadFile(base, fup, "img")) { base.setAttribute("img", file); } else { msg = paramsRequest.getLocaleString("msgErrUploadFile") + " " + value + "."; } } } else { msg = paramsRequest.getLocaleString("msgErrUploadFile") + " " + value + "."; } } } value = (null != fup.getFileName("swf") && !"".equals(fup.getFileName("swf").trim()) ? fup.getFileName("swf").trim() : null); if (value != null) { String file = admResUtils.getFileName(base, value); if (file != null && !file.trim().equals("")) { if (!admResUtils.isFileType(file, "swf|emf|wmf")) { msg = paramsRequest.getLocaleString("msgErrFileType") + " swf, emf, wmf: " + file; } else { if (admResUtils.uploadFile(base, fup, "swf")) { base.setAttribute("swf", file); } else { msg = paramsRequest.getLocaleString("msgErrUploadFile") + " " + value + "."; } } } else { msg = paramsRequest.getLocaleString("msgErrUploadFile") + " " + value + "."; } } if (null != fup.getValue("area") && !"".equals(fup.getValue("area").trim())) { base.setAttribute("area", fup.getValue("area").trim()); } if (null != fup.getValue("responsable") && !"".equals(fup.getValue("responsable").trim())) { base.setAttribute("responsable", fup.getValue("responsable").trim()); } if (null != fup.getValue("email") && !"".equals(fup.getValue("email").trim())) { base.setAttribute("email", fup.getValue("email").trim()); } setAttribute(base, fup, "alt"); setAttribute(base, fup, "btntexto"); setAttribute(base, fup, "lnktexto"); setAttribute(base, fup, "blnstyle"); setAttribute(base, fup, "firstname", "1"); setAttribute(base, fup, "lastname", "1"); setAttribute(base, fup, "middlename", "1"); setAttribute(base, fup, "styleClass"); setAttribute(base, fup, "menubar", "yes"); setAttribute(base, fup, "toolbar", "yes"); setAttribute(base, fup, "status", "yes"); setAttribute(base, fup, "location", "yes"); setAttribute(base, fup, "directories", "yes"); setAttribute(base, fup, "scrollbars", "yes"); setAttribute(base, fup, "resizable", "yes"); setAttribute(base, fup, "width"); setAttribute(base, fup, "height"); setAttribute(base, fup, "top"); setAttribute(base, fup, "left"); setAttribute(base, fup, "subject"); setAttribute(base, fup, "headermsg"); setAttribute(base, fup, "footermsg"); setAttribute(base, fup, "generatelog"); base.updateAttributesToDB(); Document dom = base.getDom(); if (dom != null) { removeAllNodes(dom, Node.ELEMENT_NODE, "swfvar"); } else { dom = SWBUtils.XML.getNewDocument(); Element root = dom.createElement("resource"); dom.appendChild(root); } value = (null != fup.getValue("swfvar") && !"".equals(fup.getValue("swfvar").trim()) ? fup.getValue("swfvar").trim() : null); if (value != null) { StringTokenizer stk = new StringTokenizer(value, "|"); while (stk.hasMoreTokens()) { value = stk.nextToken(); Element emn = dom.createElement("swfvar"); emn.appendChild(dom.createTextNode(value)); dom.getFirstChild().appendChild(emn); } } base.setXml(SWBUtils.XML.domToXml(dom)); msg = paramsRequest.getLocaleString("msgOkUpdateResource") + " " + base.getId(); if (applet != null && !"".equals(applet.trim())) { ret.append(applet); } else { ret.append("\n"); } } catch (SWBResourceException swbe) { throw swbe; } catch (org.semanticwb.SWBException e) { log.error(e); msg = paramsRequest.getLocaleString("msgErrUpdateResource") + " " + base.getId(); } ret.append("\n"); } else if (action.equals("remove")) { msg = admResUtils.removeResource(base); ret.append("\n"); } response.getWriter().print(ret.toString()); } /** * Arma una cadena que contiene el código HTML para mostrar la forma de los * datos presentados por la pantalla de administración del recurso. *

Gets the HTML code for this resource's administration screen.

* * @param request la petición HTTP generada por el usuario.

the user's HTTP request

* @param paramsRequest el objeto generado por SWB y asociado a la petición * del usuario.

the object gnerated by SWB and asociated to the user's request

* @return el código HTML a mostrar. * */ private String getForm(HttpServletRequest request, SWBParamRequest paramsRequest) { StringBuffer ret = new StringBuffer(""); String webWorkPath = "/work"; String name = getClass().getName().substring( getClass().getName().lastIndexOf(".") + 1); String path = SWBPlatform.getContextPath() + "/swbadmin/xsl/" + name + "/"; WBAdmResourceUtils admResUtils = new WBAdmResourceUtils(); Resource base = getResourceBase(); Logger log = SWBUtils.getLogger(Comment.class); try { SWBResourceURL url = paramsRequest.getRenderUrl().setAction("update"); ret.append("
"); ret.append("
\n"); ret.append("
"); ret.append(""+paramsRequest.getLocaleString("msgStep1")+""); ret.append(""); /* ret.append(" \n"); ret.append(" \n"); ret.append(" \n");*/ ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append("
"); ret.append(paramsRequest.getLocaleString("msgStep1")); ret.append("
" + paramsRequest.getLocaleString("msgTemplate") + " (xsl, xslt):"); ret.append(""); //if (!"".equals(base.getAttribute("template", "").trim())) if (path.indexOf(webWorkPath) !=-1) { ret.append("

" + paramsRequest.getLocaleString("msgCurrentTemplate") + " " + base.getAttribute("template").trim() + "

"); } else { ret.append("

" + paramsRequest.getLocaleString("msgByDefault") + " " + name + ".xslt

"); } ret.append("
" + paramsRequest.getLocaleString("msgImage") + " (bmp, gif, jpg, jpeg):"); ret.append(""); if (!"".equals(base.getAttribute("img", "").trim())) { ret.append("

" + admResUtils.displayImage(base, base.getAttribute("img").trim(), "img") + "" + paramsRequest.getLocaleString("msgCutImage") + " " + base.getAttribute("img").trim() + "

"); } ret.append("
" + paramsRequest.getLocaleString("msgAlt") + ""); ret.append("
" + paramsRequest.getLocaleString("msgButton") + ""); ret.append("
" + paramsRequest.getLocaleString("msgLink") + ""); ret.append("
" + paramsRequest.getLocaleString("msgStyle") + ""); ret.append("
* " + paramsRequest.getLocaleString("msgFlash") + " (swf, emf, wmf):"); ret.append(""); if (!"".equals(base.getAttribute("swf", "").trim())) { ret.append("

" + paramsRequest.getLocaleString("msgCurrentSwf") + " " + base.getAttribute("swf").trim() + "

"); } ret.append("
" + paramsRequest.getLocaleString("msgGenerateLog") + " :"); ret.append("
" + paramsRequest.getLocaleString("msgSwfConfiguration") + ""); ret.append(""); ret.append("\n"); ret.append("\n"); ret.append("
 "); ret.append("\n"); ret.append("\n"); ret.append("
" + paramsRequest.getLocaleString("msgFirstName") + ""); ret.append("
" + paramsRequest.getLocaleString("msgLastName") + ""); ret.append("
" + paramsRequest.getLocaleString("msgMiddleName") + ""); ret.append("
" + paramsRequest.getLocaleString("msgStyleClass") + ""); ret.append(""); ret.append("
\n"); ret.append("

"); ret.append("
"); ret.append(""+paramsRequest.getLocaleString("msgStep2")+""); ret.append(""); ret.append(""); /* ret.append(" \n"); ret.append(" \n");*/ ret.append(admResUtils.loadWindowConfiguration(base, paramsRequest)); ret.append("
"); ret.append("

"); ret.append(paramsRequest.getLocaleString("msgStep2") + ""); ret.append("
\n"); ret.append("

"); ret.append("
"); ret.append(""+paramsRequest.getLocaleString("msgStep3")+""); ret.append(""); ret.append(""); /* ret.append(" \n"); ret.append(" \n"); ret.append(" \n");*/ ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append(" \n"); ret.append("
"); ret.append("

"); ret.append(paramsRequest.getLocaleString("msgStep3")); ret.append("
* " + paramsRequest.getLocaleString("msgArea") + ""); ret.append("
* " + paramsRequest.getLocaleString("msgResponsable") + ""); ret.append("
* " + paramsRequest.getLocaleString("msgEmail") + ""); ret.append("
" + paramsRequest.getLocaleString("msgSubjectTag") + ""); ret.append("
" + paramsRequest.getLocaleString("msgMessageHeader") + ""); ret.append("
" + paramsRequest.getLocaleString("msgMessageFooter") + ""); ret.append("
\n"); ret.append("
\n"); ret.append("
\n"); ret.append("\n "); ret.append(""); ret.append("
\n"); ret.append("\n
* " + paramsRequest.getLocaleString("msgRequiredData")); ret.append("
\n"); ret.append("
\n"); ret.append(getScript(request, paramsRequest)); } catch (Exception e) { log.error(e); } return ret.toString(); } /** * Obtiene el código de JavaScript necesario para validar los datos * capturados en la forma presentada por getForm().

Gets the * JavaScript code which performs the validations asociated with the code * generated by getForm().

* * @param request la petición HTTP generada por el usuario.

the user's HTTP request

* @param paramsRequest el objeto generado por SWB y asociado a la petición * del usuario.

the object gnerated by SWB and asociated to the user's request

* @return contiene el código de JavaScript a ejecutar * */ private String getScript(HttpServletRequest request, SWBParamRequest paramsRequest) { StringBuffer ret = new StringBuffer(""); WBAdmResourceUtils admResUtils = new WBAdmResourceUtils(); Logger log = SWBUtils.getLogger(Comment.class); try { ret.append("\n"); } catch (Exception e) { log.error(e); } return ret.toString(); } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy