View Javadoc
1   /**
2    * This file Copyright (c) 2003-2014 Magnolia International
3    * Ltd.  (http://www.magnolia-cms.com). All rights reserved.
4    *
5    *
6    * This file is dual-licensed under both the Magnolia
7    * Network Agreement and the GNU General Public License.
8    * You may elect to use one or the other of these licenses.
9    *
10   * This file is distributed in the hope that it will be
11   * useful, but AS-IS and WITHOUT ANY WARRANTY; without even the
12   * implied warranty of MERCHANTABILITY or FITNESS FOR A
13   * PARTICULAR PURPOSE, TITLE, or NONINFRINGEMENT.
14   * Redistribution, except as permitted by whichever of the GPL
15   * or MNA you select, is prohibited.
16   *
17   * 1. For the GPL license (GPL), you can redistribute and/or
18   * modify this file under the terms of the GNU General
19   * Public License, Version 3, as published by the Free Software
20   * Foundation.  You should have received a copy of the GNU
21   * General Public License, Version 3 along with this program;
22   * if not, write to the Free Software Foundation, Inc., 51
23   * Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
24   *
25   * 2. For the Magnolia Network Agreement (MNA), this file
26   * and the accompanying materials are made available under the
27   * terms of the MNA which accompanies this distribution, and
28   * is available at http://www.magnolia-cms.com/mna.html
29   *
30   * Any modifications to this file must keep this entire header
31   * intact.
32   *
33   */
34  package info.magnolia.cms.gui.misc;
35  
36  import info.magnolia.context.MgnlContext;
37  
38  /**
39   * @author Vinzenz Wyser
40   * @version 2.0
41   */
42  public class Sources {
43  
44      /**
45       * Attribute set in request when links are drawn by custom tags.
46       */
47      public static final String REQUEST_LINKS_DRAWN = "mgnl_links_drawn"; //$NON-NLS-1$
48  
49      /**
50       * Context path for the current request.
51       */
52      private final String contextPath;
53  
54      /**
55       * Instantiate a new Source for a given context path.
56       * 
57       * @param contextPath context path for the current request (request.getContextPath)
58       */
59      public Sources(String contextPath) {
60          this.contextPath = contextPath;
61      }
62  
63      public String getHtmlJs() {
64          return this.getHtmlJs(false);
65      }
66  
67      public String getHtmlJs(boolean excludeCalendarResources) {
68          StringBuffer html = new StringBuffer();
69  
70          html.append("<script type=\"text/javascript\" src=\""); //$NON-NLS-1$
71          html.append(contextPath);
72          html.append("/.magnolia/pages/javascript.js\"></script>\n"); //$NON-NLS-1$
73  
74          html.append("<script type=\"text/javascript\" src=\""); //$NON-NLS-1$
75          html.append(contextPath);
76          html.append("/.magnolia/pages/messages." + MgnlContext.getUser().getLanguage() + ".js\"></script>\n"); //$NON-NLS-1$
77  
78          html.append("<script type=\"text/javascript\" src=\""); //$NON-NLS-1$
79          html.append(contextPath);
80          html.append("/.resources/admin-js/dialogs/dialogs.js\"></script>\n"); //$NON-NLS-1$
81  
82          if (!excludeCalendarResources) {
83              html.append("<link rel=\"stylesheet\" type=\"text/css\" media=\"all\" href=\"");
84              html.append(contextPath);
85              html.append("/.resources/calendar/skins/aqua/theme.css\" title=\"Aqua\" />\n");
86  
87              html.append("<script type=\"text/javascript\" src=\"");
88              html.append(contextPath);
89              html.append("/.resources/calendar/calendar.js\"></script>\n");
90  
91              html.append("<script type=\"text/javascript\" src=\"");
92              html.append(contextPath);
93              html.append("/.resources/calendar/lang/calendar-");
94              html.append(MgnlContext.getLocale().getLanguage());
95              html.append(".js\"></script>\n");
96  
97              html.append("<script type=\"text/javascript\" src=\"");
98              html.append(contextPath);
99              html.append("/.resources/calendar/calendar-setup.js\"></script>\n");
100         }
101         return html.toString();
102     }
103 
104     public String getHtmlCss() {
105         StringBuffer html = new StringBuffer();
106         html.append("<link rel=\"stylesheet\" type=\"text/css\" href=\""); //$NON-NLS-1$
107         html.append(contextPath);
108         html.append("/.resources/admin-css/admin-all.css\" />\n"); //$NON-NLS-1$
109         return html.toString();
110     }
111 
112 }