Package com.dotmarketing.portlets.templates.model

Examples of com.dotmarketing.portlets.templates.model.Template


        foldersSet.add(folder.getInode());
        HTMLPage workingPage = APILocator.getHTMLPageAPI().loadWorkingPageById(pageId, user, false);
        HTMLPage livePage = APILocator.getHTMLPageAPI().loadLivePageById(pageId, user, false);

        // working template working page
        Template workingTemplateWP = null;
        // live template working page
        Template liveTemplateWP = null;

        if(workingPage!=null) {
          workingTemplateWP = APILocator.getTemplateAPI().findWorkingTemplate(workingPage.getTemplateId(), user, false);
          liveTemplateWP = APILocator.getTemplateAPI().findLiveTemplate(workingPage.getTemplateId(), user, false);
          // Templates dependencies
          templates.addOrClean( workingPage.getTemplateId(), workingTemplateWP.getModDate());
          templatesSet.add(workingPage.getTemplateId());
        }

        Template liveTemplateLP = null;

        // live template live page
        if(livePage!=null) {
          liveTemplateLP = APILocator.getTemplateAPI().findLiveTemplate(livePage.getTemplateId(), user, false);
          // Templates dependencies
          templates.addOrClean( livePage.getTemplateId(), livePage.getModDate());
          templatesSet.add(livePage.getTemplateId());
        }

        // Containers dependencies
        containerList.clear();

        if(workingTemplateWP!=null && InodeUtils.isSet(workingTemplateWP.getInode()))
          containerList.addAll(APILocator.getTemplateAPI().getContainersInTemplate(workingTemplateWP, user, false));
        if(liveTemplateWP!=null && InodeUtils.isSet(liveTemplateWP.getInode()))
          containerList.addAll(APILocator.getTemplateAPI().getContainersInTemplate(liveTemplateWP, user, false));
        if(liveTemplateLP!=null && InodeUtils.isSet(liveTemplateLP.getInode()))
          containerList.addAll(APILocator.getTemplateAPI().getContainersInTemplate(liveTemplateLP, user, false));

        for (Container container : containerList) {
          containers.addOrClean( container.getIdentifier(), container.getModDate());
          containersSet.add(container.getIdentifier());
View Full Code Here


    try {
      List<Container> containerList = new ArrayList<Container>();
      FolderAPI folderAPI = APILocator.getFolderAPI();
     
      for (String id : templatesSet) {
        Template wkT = APILocator.getTemplateAPI().findWorkingTemplate(id, user, false);
        Template lvT = APILocator.getTemplateAPI().findLiveTemplate(id, user, false);

        // Host dependency
        Host h = APILocator.getHostAPI().find(APILocator.getTemplateAPI().getTemplateHost(wkT).getIdentifier(), user, false);
        hosts.addOrClean( APILocator.getTemplateAPI().getTemplateHost( wkT ).getIdentifier(), h.getModDate());

        containerList.clear();
        containerList.addAll(APILocator.getTemplateAPI().getContainersInTemplate(wkT, user, false));

        if(lvT!=null && InodeUtils.isSet(lvT.getInode())) {
          containerList.addAll(APILocator.getTemplateAPI().getContainersInTemplate(lvT, user, false));
        }

        for (Container container : containerList) {
          // Container dependencies
View Full Code Here

              APILocator.getFolderAPI().find(con.getFolder(), user, false)));
          for(HTMLPage htmlPage: folderHtmlPages) {
                       htmlPages.addOrClean( htmlPage.getIdentifier(), htmlPage.getModDate());

            // working template working page
            Template workingTemplateWP = APILocator.getTemplateAPI().findWorkingTemplate(htmlPage.getTemplateId(), user, false);
            // live template working page
            Template liveTemplateWP = APILocator.getTemplateAPI().findLiveTemplate(htmlPage.getTemplateId(), user, false);

            // Templates dependencies
                        templates.addOrClean( htmlPage.getTemplateId(), workingTemplateWP.getModDate());

            // Containers dependencies
View Full Code Here

    String folderPath = (!EDIT_MODE) ? "live/" : "working/";
    InputStream result;
    StringBuilder sb = new StringBuilder();

    ContentletAPI conAPI = APILocator.getContentletAPI();
    Template cmsTemplate = com.dotmarketing.portlets.htmlpages.factories.HTMLPageFactory.getHTMLPageTemplate(htmlPage, EDIT_MODE);
    if(cmsTemplate == null || ! InodeUtils.isSet(cmsTemplate.getInode())){
      Logger.error(This.class, "PAGE DOES NOT HAVE A VALID TEMPLATE (template unpublished?) : page id " + htmlPage.getIdentifier() + ":" + identifier.getURI()   );
    }
   
    //gets pageChannel for this path
    java.util.StringTokenizer st = new java.util.StringTokenizer(String.valueOf(identifier.getURI()),"/");
    String pageChannel = null;
    if(st.hasMoreTokens()){
      pageChannel = st.nextToken();
    }
   
   
   
   
    // set the page cache var
    if(htmlPage.getCacheTTL() > 0 && LicenseUtil.getLevel() > 99){
      sb.append("#set($dotPageCacheDate = \"").append( new java.util.Date() ).append("\")");
      sb.append("#set($dotPageCacheTTL = \"").append( htmlPage.getCacheTTL()  ).append("\")");
    }
   
   
   
    // set the host variables
    HTMLPageAPI htmlPageAPI = APILocator.getHTMLPageAPI();

    Host host = htmlPageAPI.getParentHost(htmlPage);
    sb.append("#if(!$doNotParseTemplate)");
      sb.append("$velutil.mergeTemplate('" ).append( folderPath ).append( host.getIdentifier() ).append( "." ).append( Config.getStringProperty("VELOCITY_HOST_EXTENSION") ).append( "')");
    sb.append(" #end ");
   
   
   
    //creates the context where to place the variables
    // Build a context to pass to the page
    sb.append("#if(!$doNotSetPageInfo)");
    sb.append("#set ( $quote = '\"' )");
    sb.append("#set ($HTMLPAGE_INODE = \"" ).append( String.valueOf(htmlPage.getInode()) ).append( "\" )");
    sb.append("#set ($HTMLPAGE_IDENTIFIER = \"" ).append( String.valueOf(htmlPage.getIdentifier()) ).append( "\" )");
    sb.append("#set ($HTMLPAGE_TITLE = \"" ).append( UtilMethods.espaceForVelocity(htmlPage.getTitle()) ).append( "\" )");
    sb.append("#set ($HTMLPAGE_FRIENDLY_NAME = \"" + UtilMethods.espaceForVelocity(htmlPage.getFriendlyName()) ).append( "\" )");
    sb.append("#set ($TEMPLATE_INODE = \"" ).append( String.valueOf(cmsTemplate.getInode()) ).append( "\" )");
    sb.append("#set ($HTMLPAGE_META = \"" ).append( UtilMethods.espaceForVelocity(htmlPage.getMetadata()) ).append( "\" )");
    sb.append("#set ($HTMLPAGE_META = \"#fixBreaks($HTMLPAGE_META)\")");
   
    sb.append("#set ($HTMLPAGE_DESCRIPTION = \"" ).append( UtilMethods.espaceForVelocity(htmlPage.getSeoDescription()) ).append( "\" )");
    sb.append("#set ($HTMLPAGE_DESCRIPTION = \"#fixBreaks($HTMLPAGE_DESCRIPTION)\")");
   
    sb.append("#set ($HTMLPAGE_KEYWORDS = \"" ).append( UtilMethods.espaceForVelocity(htmlPage.getSeoKeywords()) ).append( "\" )");
    sb.append("#set ($HTMLPAGE_KEYWORDS = \"#fixBreaks($HTMLPAGE_KEYWORDS)\")");
   
   
    sb.append("#set ($HTMLPAGE_SECURE = \"" ).append( String.valueOf(htmlPage.isHttpsRequired()) ).append( "\" )");
    sb.append("#set ($VTLSERVLET_URI = \"" ).append( UtilMethods.encodeURIComponent(identifier.getURI()) ).append( "\" )");
    sb.append("#set ($HTMLPAGE_REDIRECT = \"" ).append( UtilMethods.espaceForVelocity(htmlPage.getRedirect()) ).append( "\" )");
   
    sb.append("#set ($pageTitle = \"" ).append( UtilMethods.espaceForVelocity(htmlPage.getTitle()) ).append( "\" )");
    sb.append("#set ($pageChannel = \"" ).append( pageChannel ).append( "\" )");
    sb.append("#set ($friendlyName = \"" ).append( UtilMethods.espaceForVelocity(htmlPage.getFriendlyName()) ).append( "\" )");

    Date moddate = null;
    if(UtilMethods.isSet(htmlPage.getModDate())){
      moddate = htmlPage.getModDate();
    } else {
      moddate = htmlPage.getStartDate();
    }

    moddate = new Timestamp(moddate.getTime());

    sb.append("#set ($HTML_PAGE_LAST_MOD_DATE= $date.toDate(\"yyyy-MM-dd HH:mm:ss.SSS\", \"" ).append( moddate ).append( "\"))");
    sb.append("#set ($HTMLPAGE_MOD_DATE= $date.toDate(\"yyyy-MM-dd HH:mm:ss.SSS\", \"" ).append( moddate ).append( "\"))");
    sb.append(" #end ");
           
    //get the containers for the page and stick them in context
    //List identifiers = InodeFactory.getChildrenClass(cmsTemplate, Identifier.class);

        List<Container> containerList = APILocator.getTemplateAPI().getContainersInTemplate(cmsTemplate, APILocator.getUserAPI().getSystemUser(), false);

    Iterator i = containerList.iterator();
    while(i.hasNext()){
      Container ident = (Container) i.next();
     
      Container c = null;
      if (EDIT_MODE) {
        c = (Container) APILocator.getVersionableAPI().findWorkingVersion(ident.getIdentifier(),APILocator.getUserAPI().getSystemUser(),false);
      }
      else {
        c = (Container) APILocator.getVersionableAPI().findLiveVersion(ident.getIdentifier(),APILocator.getUserAPI().getSystemUser(),false);
      }
      //sets container to load the container file
      sb.append("#set ($container").append(ident.getIdentifier() ).append( " = \"" ).append( folderPath ).append( ident.getIdentifier() ).append( "." ).append( Config.getStringProperty("VELOCITY_CONTAINER_EXTENSION") ).append( "\" )");

      String sort = (c.getSortContentletsBy() == null) ? "tree_order" : c.getSortContentletsBy();

      boolean dynamicContainer = UtilMethods.isSet(c.getLuceneQuery());

      int langCounter = 0;


      List<Contentlet> contentlets = new ArrayList<Contentlet>();
      List<Contentlet> contentletsFull = new ArrayList<Contentlet>();
      if (!dynamicContainer) {
        Identifier idenHtmlPage = APILocator.getIdentifierAPI().find(htmlPage);
        Identifier idenContainer = APILocator.getIdentifierAPI().find(c);
        //The container doesn't have categories
        try{
          contentlets = conAPI.findPageContentlets(idenHtmlPage.getId(), idenContainer.getId(), sort, EDIT_MODE, -1,APILocator.getUserAPI().getSystemUser() ,false);
          if(EDIT_MODE)
              contentletsFull=contentlets;
          else
              contentletsFull = conAPI.findPageContentlets(idenHtmlPage.getId(), idenContainer.getId(), sort, true, -1,APILocator.getUserAPI().getSystemUser() ,false);
        }catch(Exception e){
          Logger.error(PageServices.class,"Unable to retrive contentlets on page", e);
        }
        Logger.debug(PageServices.class, "HTMLPage= " + htmlPage.getInode() + " Container=" + c.getInode() + " Language=-1 Contentlets=" + contentlets.size());
      }
      //this is to filter the contentlets list removing the repited identifiers
      if(contentlets.size() > 0){
        Set<String> contentletIdentList = new HashSet<String>();
        List<Contentlet> contentletsFilter = new ArrayList<Contentlet>();
        for(Contentlet cont : contentlets){
          if(!contentletIdentList.contains(cont.getIdentifier())){
            contentletIdentList.add(cont.getIdentifier());
            contentletsFilter.add(cont);
          }
        }
        contentlets = contentletsFilter;
      }
      if(contentletsFull.size() > 0){
                Set<String> contentletIdentList = new HashSet<String>();
                List<Contentlet> contentletsFilter = new ArrayList<Contentlet>();
                for(Contentlet cont : contentletsFull){
                    if(!contentletIdentList.contains(cont.getIdentifier())){
                        contentletIdentList.add(cont.getIdentifier());
                        contentletsFilter.add(cont);
                    }
                }
                contentletsFull = contentletsFilter;
            }
     
      StringBuilder widgetpree=new StringBuilder();
      StringBuilder widgetpreeFull=new StringBuilder();
     
      StringBuilder contentletList = new StringBuilder();
      int count=0;
      for(Contentlet contentlet : contentlets) {
          contentletList.append(count==0 ? "" : ",")
              .append('"').append(contentlet.getIdentifier()).append('"');
          if(contentlet.getStructure().getStructureType()== Structure.STRUCTURE_TYPE_WIDGET) {
                    Field field=contentlet.getStructure().getFieldVar("widgetPreexecute");
                    if (field!= null && UtilMethods.isSet(field.getValues()))
                        widgetpree.append(field.getValues().trim());
                }
          if(++count>=c.getMaxContentlets()) break;
      }
     
      StringBuilder contentletListFull = new StringBuilder();
            int countFull=0;
            for(Contentlet contentlet : contentletsFull) {
                contentletListFull.append(countFull==0 ? "" : ",")
                    .append('"').append(contentlet.getIdentifier()).append('"');
                if(contentlet.getStructure().getStructureType()== Structure.STRUCTURE_TYPE_WIDGET) {
                    Field field=contentlet.getStructure().getFieldVar("widgetPreexecute");
                    if (field!= null && UtilMethods.isSet(field.getValues()))
                        widgetpreeFull.append(field.getValues().trim());
                }
                if(++countFull>=c.getMaxContentlets()) break;
            }
     
      sb.append("#if($request.session.getAttribute(\"tm_date\"))");
         sb.append(widgetpreeFull);
         sb.append("#set ($contentletList" ).append( ident.getIdentifier() )
                 .append( " = [" ).append( contentletListFull.toString() ).append( "] )");
               sb.append("#set ($totalSize" ).append( ident.getIdentifier() )
                 .append( "=" ).append( countFull ).append( ")");
      sb.append("#else ");
         sb.append(widgetpree);
         sb.append("#set ($contentletList" ).append( ident.getIdentifier() )
           .append( " = [" ).append( contentletList.toString() ).append( "] )");
         sb.append("#set ($totalSize" ).append( ident.getIdentifier() )
           .append( "=" ).append( count ).append( ")");
      sb.append("#end ");
      langCounter++;

    }

    if(htmlPage.isHttpsRequired()){   
      sb.append(" #if(!$ADMIN_MODE  && !$request.isSecure())");
      sb.append("    #if($request.getQueryString())");
      sb.append("        #set ($REDIRECT_URL = \"https://${request.getServerName()}$request.getAttribute('javax.servlet.forward.request_uri')?$request.getQueryString()\")");
      sb.append("    #else ");
      sb.append("        #set ($REDIRECT_URL = \"https://${request.getServerName()}$request.getAttribute('javax.servlet.forward.request_uri')\")");
      sb.append("    #end ");
      sb.append("    $response.sendRedirect(\"$REDIRECT_URL\")");
      sb.append(" #end ");
    }
   
    sb.append("#if($HTMLPAGE_REDIRECT != \"\")");
    sb.append("    $response.sendRedirect(\"$HTMLPAGE_REDIRECT\")");
    sb.append("#end");
   
    Identifier iden = APILocator.getIdentifierAPI().find(cmsTemplate);

   
    sb.append("#if(!$doNotParseTemplate)");
            if ( cmsTemplate.isDrawed() ) {//We have a designed template
                //Setting some theme variables
                sb.append( "#set ($dotTheme = $templatetool.theme(\"" ).append( cmsTemplate.getTheme() ).append( "\",\"" ).append( host.getIdentifier() ).append( "\"))" );
                sb.append( "#set ($dotThemeLayout = $templatetool.themeLayout(\"" ).append( cmsTemplate.getInode() ).append( "\" ))" );
                //Merging our template
                sb.append( "$velutil.mergeTemplate(\"$dotTheme.templatePath\")" );
            } else {
                sb.append( "$velutil.mergeTemplate('" ).append( folderPath ).append( iden.getInode() ).append( "." ).append( Config.getStringProperty( "VELOCITY_TEMPLATE_EXTENSION" ) ).append( "')" );
            }
View Full Code Here

            try {
                //Integer.parseInt(x);
                //Identifier identifier = (Identifier) InodeFactory.getInode(x, Identifier.class);
              Identifier identifier = APILocator.getIdentifierAPI().find(x);
              VersionableAPI versionableAPI=APILocator.getVersionableAPI();
                Template template = null;
                if (preview) {
                  template = (Template) versionableAPI.findWorkingVersion(identifier, user, true);
                } else {
                  template = (Template) versionableAPI.findLiveVersion(identifier, user, true);
                }

                Logger.debug(this,"DotResourceLoader:\tWriting out Template inode = " + template.getInode());

                result = TemplateServices.buildVelocity(template, preview);
            } catch (NumberFormatException e) {
                Logger.warn(this,"getResourceStream: Invalid resource path provided = " + arg0 + ", request discarded.");
                throw new ResourceNotFoundException("Invalid resource path provided = " + arg0);
View Full Code Here

    if (webAsset instanceof HTMLPage) {

        Logger.debug(PublishFactory.class, "*****I'm an HTML Page -- PrePublishing");

      //gets working (not published) template parent for this html page
      Template templateParent = HTMLPageFactory.getHTMLPageTemplate((HTMLPage)webAsset,true);

      if (InodeUtils.isSet(templateParent.getInode())) {
       
        if(!templateParent.isLive() && (permissionAPI.doesUserHavePermission(templateParent, PERMISSION_PUBLISH, user, respectFrontendRoles) || !checkPublishPermissions)) {
          relatedAssets.add(templateParent);
        }


        //gets all live container children       
View Full Code Here

     */
    // Adds template children from selected box
    //Identifier templateIdentifier = identifierAPI.find(templateId);
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("title", "Quest - 1 Column");
    Template template = APILocator.getTemplateAPI().findTemplates(systemUser, false, params, host.getIdentifier(), null, null, null, 0, 1, "").get(0);


    HTMLPage newHtmlPage = new HTMLPage();
    newHtmlPage.setParent(folder.getInode());
    newHtmlPage.setPageUrl("test1."+Config.getStringProperty("VELOCITY_PAGE_EXTENSION","html"));
    newHtmlPage.setTitle("test1");
    newHtmlPage.setFriendlyName("test1");
    newHtmlPage.setTemplateId(template.getIdentifier());

    if (UtilMethods.isSet(newHtmlPage.getFriendlyName())) {
      newHtmlPage.setFriendlyName(newHtmlPage.getFriendlyName());
    } else {
      newHtmlPage.setFriendlyName(newHtmlPage.getTitle());
    }

    if (!newHtmlPage.getPageUrl().endsWith("." + Config.getStringProperty("VELOCITY_PAGE_EXTENSION","html"))) {
      newHtmlPage.setPageUrl(newHtmlPage.getPageUrl() + "." + Config.getStringProperty("VELOCITY_PAGE_EXTENSION","html"));
    }
    WebAssetFactory.createAsset(newHtmlPage, systemUser.getUserId(), folder);
    APILocator.getVersionableAPI().setLive(newHtmlPage);

    WebAssetFactory.publishAsset(newHtmlPage);
    HTMLPage workinghtmlPageAsset = null;
    workinghtmlPageAsset = newHtmlPage;
    HibernateUtil.flush();

    /*
     * Creating second test page
     */
    HTMLPage newHtmlPage2 = new HTMLPage();
    newHtmlPage2.setParent(folder.getInode());
    newHtmlPage2.setPageUrl("test2."+Config.getStringProperty("VELOCITY_PAGE_EXTENSION","html"));
    newHtmlPage2.setTitle("test2");
    newHtmlPage2.setFriendlyName("test2");
    newHtmlPage2.setTemplateId(template.getIdentifier());

    if (UtilMethods.isSet(newHtmlPage2.getFriendlyName())) {
      newHtmlPage2.setFriendlyName(newHtmlPage2.getFriendlyName());
    } else {
      newHtmlPage2.setFriendlyName(newHtmlPage2.getTitle());
View Full Code Here

     */
    // Adds template children from selected box
    //Identifier templateIdentifier = identifierAPI.find(templateId);
    Map<String, Object> params = new HashMap<String, Object>();
    params.put("title", "Quest - 1 Column");
    Template template = APILocator.getTemplateAPI().findTemplates(systemUser, false, params, host.getIdentifier(), null, null, null, 0, 1, "").get(0);


    HTMLPage newHtmlPage = new HTMLPage();
    newHtmlPage.setParent(folder.getInode());
    newHtmlPage.setPageUrl("reordertest1."+Config.getStringProperty("VELOCITY_PAGE_EXTENSION","html"));
    newHtmlPage.setTitle("reordertest1");
    newHtmlPage.setFriendlyName("reordertest1");
    newHtmlPage.setTemplateId(template.getIdentifier());

    if (UtilMethods.isSet(newHtmlPage.getFriendlyName())) {
      newHtmlPage.setFriendlyName(newHtmlPage.getFriendlyName());
    } else {
      newHtmlPage.setFriendlyName(newHtmlPage.getTitle());
View Full Code Here

        host.setHostname("testhost.demo.dotcms.com");
        host=APILocator.getHostAPI().save(host, sysuser, false);

        perm.permissionIndividually(host.getParentPermissionable(), host, sysuser, false);

        tt=new Template();
        tt.setTitle("testtemplate");
        tt.setBody("<html><head></head><body>en empty template just for test</body></html>");
        APILocator.getTemplateAPI().saveTemplate(tt, host, sysuser, false);

        /*for(int w=1;w<=5;w++)
View Full Code Here

    }


         try {
           Template t = new Template();
           t.setBody("\"<html>\\n <head>\\n  <link rel=\"stylesheet\" type=\"text/css\" href=\"/html/css/template/reset-fonts-grids.css\" />\\n </head>\\n <body>\\n  <div id=\"doc3-template\" name=\"globalContainer\">\\n   <div id=\"hd-template\"></div>\\n   <div id=\"bd-template\">\\n    <div id=\"yui-main-template\">\\n     <div class=\"yui-b-template\" id=\"splitBody0\"></div>\\n    </div>\\n   </div>\\n   <div id=\"ft-template\"></div>\\n  </div>\\n </body>\\n</html>\"");
           t.setCountAddContainer(3);
           t.setCountContainers(0);
           t.setDrawed(true);
           t.setDrawedBody("\"<div id=\"doc3-template\" name=\"globalContainer\"><div id=\"hd-template\"><div class=\"addContainerSpan\"><a href=\"javascript: showAddContainerDialog('hd-template');\" title=\"Add Container\"><span class=\"plusBlueIcon\"></span>Add Container</a></div><h1>Header</h1></div><div id=\"bd-template\"><div id=\"yui-main-template\"><div class=\"yui-b-template\" id=\"splitBody0\"><div class=\"addContainerSpan\"><a href=\"javascript: showAddContainerDialog('splitBody0');\" title=\"Add Container\"><span class=\"plusBlueIcon\"></span>Add Container</a></div><h1>Body</h1></div></div></div><div id=\"ft-template\"><div class=\"addContainerSpan\"><a href=\"javascript: showAddContainerDialog('ft-template');\" title=\"Add Container\"><span class=\"plusBlueIcon\"></span>Add Container</a></div><h1>Footer</h1></div></div>\"");
           t.setiDate(new Date());
           t.setTitle("testTemplate");
           t.setType("template");

           APILocator.getTemplateAPI().saveTemplate(t,hh, sysuser, false);


             assertTrue(perm.findParentPermissionable(t).equals(hh));
View Full Code Here

TOP

Related Classes of com.dotmarketing.portlets.templates.model.Template

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.