增加初始版本
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_display_style/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_display_style/page.jsp
new file mode 100644
index 0000000..4e67040
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_display_style/page.jsp
@@ -0,0 +1,109 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_app_view_display_style") + StringPool.UNDERLINE;
+
+String displayStyle = (String)request.getAttribute("liferay-ui:app-view-display-style:displayStyle");
+String[] displayStyles = (String[])request.getAttribute("liferay-ui:app-view-display-style:displayStyles");
+Map<String, String> requestParams = (Map<String, String>)request.getAttribute("liferay-ui:app-view-display-style:requestParams");
+%>
+
+<c:if test="<%= displayStyles.length > 1 %>">
+	<div id="<portlet:namespace />displayStyleButtons">
+		<liferay-ui:icon-menu direction="down" icon='<%= "../aui/" + _getIcon(displayStyle) %>' message="" select="<%= true %>">
+
+			<%
+			for (int i = 0; i < displayStyles.length; i++) {
+				String dataStyle = displayStyles[i];
+
+				Map<String, Object> data = new HashMap<String, Object>();
+
+				data.put("displayStyle", dataStyle);
+			%>
+
+				<liferay-ui:icon data="<%= data %>" image='<%= "../aui/" + _getIcon(dataStyle) %>' message="<%= dataStyle %>" onClick='<%= randomNamespace + "onClickDisplayStyle(this);" %>' url="javascript:;" />
+
+			<%
+			}
+			%>
+
+		</liferay-ui:icon-menu>
+	</div>
+</c:if>
+
+<c:if test="<%= displayStyles.length > 1 %>">
+	<aui:script use="aui-base">
+		function changeDisplayStyle(displayStyle) {
+			var config = {};
+
+			<%
+			Set<String> requestParamNames = requestParams.keySet();
+
+			for (String requestParamName : requestParamNames) {
+				String requestParamValue = requestParams.get(requestParamName);
+			%>
+
+				config['<portlet:namespace /><%= requestParamName %>'] = '<%= HtmlUtil.escapeJS(requestParamValue) %>';
+
+			<%
+			}
+			%>
+
+			config['<portlet:namespace />displayStyle'] = displayStyle;
+			config['<portlet:namespace />saveDisplayStyle'] = true;
+
+			Liferay.fire(
+				'<portlet:namespace />dataRequest',
+				{
+					requestParams: config,
+					src: Liferay.DL_ENTRIES_PAGINATOR
+				}
+			);
+		}
+
+		Liferay.provide(
+			window,
+			'<%= randomNamespace %>onClickDisplayStyle',
+			function(link) {
+				var displayStyleItem = A.one(link);
+
+				changeDisplayStyle(displayStyleItem.attr('data-displayStyle'));
+			},
+			['aui-node']
+		);
+	</aui:script>
+</c:if>
+
+<%!
+private String _getIcon(String displayStyle) {
+	String displayStyleIcon = displayStyle;
+
+	if (displayStyle.equals("descriptive")) {
+		displayStyleIcon = "th-list";
+	}
+	else if (displayStyle.equals("icon")) {
+		displayStyleIcon = "th-large";
+	}
+	else if (displayStyle.equals("list")) {
+		displayStyleIcon = "align-justify";
+	}
+
+	return displayStyleIcon;
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_entry/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_entry/page.jsp
new file mode 100644
index 0000000..f2631fb
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_entry/page.jsp
@@ -0,0 +1,356 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String actionJsp = (String)request.getAttribute("liferay-ui:app-view-entry:actionJsp");
+String assetCategoryClassName = GetterUtil.getString(request.getAttribute("liferay-ui:app-view-entry:assetCategoryClassName"));
+long assetCategoryClassPK = GetterUtil.getLong(request.getAttribute("liferay-ui:app-view-entry:assetCategoryClassPK"));
+String assetTagClassName = GetterUtil.getString(request.getAttribute("liferay-ui:app-view-entry:assetTagClassName"));
+long assetTagClassPK = GetterUtil.getLong(request.getAttribute("liferay-ui:app-view-entry:assetTagClassPK"));
+String author = GetterUtil.getString(request.getAttribute("liferay-ui:app-view-entry:author"));
+Date createDate = GetterUtil.getDate(request.getAttribute("liferay-ui:app-view-entry:createDate"), DateFormatFactoryUtil.getDate(locale), null);
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:app-view-entry:cssClass"));
+Date expirationDate = GetterUtil.getDate(request.getAttribute("liferay-ui:app-view-entry:expirationDate"), DateFormatFactoryUtil.getDate(locale), null);
+Map<String, Object> data = (Map<String, Object>)request.getAttribute("liferay-ui:app-view-entry:data");
+String description = (String)request.getAttribute("liferay-ui:app-view-entry:description");
+Date displayDate = GetterUtil.getDate(request.getAttribute("liferay-ui:app-view-entry:displayDate"), DateFormatFactoryUtil.getDate(locale), null);
+String displayStyle = (String)request.getAttribute("liferay-ui:app-view-entry:displayStyle");
+boolean folder = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app-view-entry:folder"));
+long groupId = GetterUtil.getLong(request.getAttribute("liferay-ui:app-view-entry:groupId"));
+String latestApprovedVersion = GetterUtil.getString(request.getAttribute("liferay-ui:app-view-entry:latestApprovedVersion"));
+String latestApprovedVersionAuthor = GetterUtil.getString(request.getAttribute("liferay-ui:app-view-entry:latestApprovedVersionAuthor"));
+boolean locked = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app-view-entry:locked"));
+Date modifiedDate = GetterUtil.getDate(request.getAttribute("liferay-ui:app-view-entry:modifiedDate"), DateFormatFactoryUtil.getDate(locale), null);
+Date reviewDate = GetterUtil.getDate(request.getAttribute("liferay-ui:app-view-entry:reviewDate"), DateFormatFactoryUtil.getDate(locale), null);
+String rowCheckerId = (String)request.getAttribute("liferay-ui:app-view-entry:rowCheckerId");
+String rowCheckerName = (String)request.getAttribute("liferay-ui:app-view-entry:rowCheckerName");
+boolean shortcut = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app-view-entry:shortcut"));
+boolean showCheckbox = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app-view-entry:showCheckbox"));
+boolean showLinkTitle = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app-view-entry:showLinkTitle"));
+int status = GetterUtil.getInteger(request.getAttribute("liferay-ui:app-view-entry:status"), WorkflowConstants.STATUS_ANY);
+String thumbnailDivStyle = (String)request.getAttribute("liferay-ui:app-view-entry:thumbnailDivStyle");
+String thumbnailSrc = (String)request.getAttribute("liferay-ui:app-view-entry:thumbnailSrc");
+String thumbnailStyle = (String)request.getAttribute("liferay-ui:app-view-entry:thumbnailStyle");
+String title = (String)request.getAttribute("liferay-ui:app-view-entry:title");
+String url = (String)request.getAttribute("liferay-ui:app-view-entry:url");
+String version = GetterUtil.getString(request.getAttribute("liferay-ui:app-view-entry:version"));
+
+String shortTitle = StringUtil.shorten(title, 60);
+
+String linkTitle = StringPool.BLANK;
+
+if (showLinkTitle) {
+	linkTitle = HtmlUtil.escapeAttribute(HtmlUtil.unescape(title) + " - " + HtmlUtil.unescape(description));
+}
+%>
+
+<c:choose>
+	<c:when test='<%= displayStyle.equals("icon") %>'>
+		<div class="app-view-entry app-view-entry-taglib entry-display-style display-<%= displayStyle %> <%= showCheckbox ? "selectable" : StringPool.BLANK %> <%= cssClass %>" <%= AUIUtil.buildData(data) %> data-draggable="<%= showCheckbox ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" data-title="<%= HtmlUtil.escapeAttribute(shortTitle) %>">
+			<c:if test="<%= showCheckbox %>">
+				<aui:input cssClass="overlay entry-selector" label="" name="<%= RowChecker.ROW_IDS + rowCheckerName %>" type="checkbox" value="<%= rowCheckerId %>" />
+			</c:if>
+
+			<%
+			if (!folder) {
+				request.removeAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
+			}
+			%>
+
+			<liferay-util:include page="<%= actionJsp %>" />
+
+			<c:choose>
+				<c:when test="<%= Validator.isNull(url) %>">
+					<span class="entry-link" data-folder="<%= folder ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" <%= folder ? "data-folder-id=\"" + rowCheckerId + "\"" : StringPool.BLANK %> title="<%= linkTitle %>">
+				</c:when>
+				<c:otherwise>
+					<a class="entry-link" data-folder="<%= folder ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" <%= folder ? "data-folder-id=\"" + rowCheckerId + "\"" : StringPool.BLANK %> href="<%= url %>" title="<%= linkTitle %>">
+				</c:otherwise>
+			</c:choose>
+
+			<div class="entry-thumbnail" style="<%= thumbnailDivStyle %>">
+				<img alt="" border="no" class="img-polaroid" src="<%= thumbnailSrc %>" style="<%= thumbnailStyle %>" />
+
+				<c:if test="<%= shortcut %>">
+					<img alt="<liferay-ui:message key="shortcut" />" class="shortcut-icon img-polaroid" src="<%= themeDisplay.getPathThemeImages() %>/file_system/large/overlay_link.png" />
+				</c:if>
+
+				<c:if test="<%= locked %>">
+					<img alt="<liferay-ui:message key="locked" />" class="locked-icon img-polaroid" src="<%= themeDisplay.getPathThemeImages() %>/file_system/large/overlay_lock.png" />
+				</c:if>
+
+				<c:if test="<%= !folder && ((status != WorkflowConstants.STATUS_ANY) && (status != WorkflowConstants.STATUS_APPROVED)) %>">
+					<aui:workflow-status showIcon="<%= false %>" showLabel="<%= false %>" status="<%= status %>" />
+				</c:if>
+			</div>
+
+			<span class="entry-title">
+				<span class="entry-title-text">
+					<%= HtmlUtil.escape(shortTitle) %>
+				</span>
+
+				<span class="entry-result-icon"></span>
+			</span>
+
+			<c:choose>
+				<c:when test="<%= Validator.isNull(url) %>">
+					</span>
+				</c:when>
+				<c:otherwise>
+					</a>
+				</c:otherwise>
+			</c:choose>
+		</div>
+	</c:when>
+	<c:when test='<%= displayStyle.equals("descriptive") %>'>
+		<div class="app-view-entry app-view-entry-taglib entry-display-style display-<%= displayStyle %> <%= showCheckbox ? "selectable" : StringPool.BLANK %> <%= cssClass %>" <%= AUIUtil.buildData(data) %> data-draggable="<%= showCheckbox ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" data-title="<%= HtmlUtil.escapeAttribute(shortTitle) %>">
+			<c:choose>
+				<c:when test="<%= Validator.isNull(url) %>">
+					<span class="entry-link" data-folder="<%= folder ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" data-folder-id="<%= rowCheckerId %>" title="<%= linkTitle %>">
+				</c:when>
+				<c:otherwise>
+					<a class="entry-link" data-folder="<%= folder ? Boolean.TRUE.toString() : Boolean.FALSE.toString() %>" data-folder-id="<%= rowCheckerId %>" href="<%= url %>" title="<%= linkTitle %>">
+				</c:otherwise>
+			</c:choose>
+
+			<div class="entry-thumbnail" style="<%= thumbnailDivStyle %>">
+				<img alt="" border="no" class="img-polaroid" src="<%= thumbnailSrc %>" style="<%= thumbnailStyle %>" />
+
+				<c:if test="<%= shortcut %>">
+					<img alt="<liferay-ui:message key="shortcut" />" class="shortcut-icon img-polaroid" src="<%= themeDisplay.getPathThemeImages() %>/file_system/large/overlay_link.png" />
+				</c:if>
+
+				<c:if test="<%= locked %>">
+					<img alt="<liferay-ui:message key="locked" />" class="locked-icon img-polaroid" src="<%= themeDisplay.getPathThemeImages() %>/file_system/large/overlay_lock.png" />
+				</c:if>
+
+				<c:if test="<%= !folder && (status != WorkflowConstants.STATUS_ANY) && (status != WorkflowConstants.STATUS_APPROVED) %>">
+					<aui:workflow-status showIcon="<%= false %>" showLabel="<%= false %>" status="<%= status %>" />
+				</c:if>
+			</div>
+
+			<div class="entry-metadata">
+				<span class="entry-title">
+					<span class="entry-title-text">
+						<%= HtmlUtil.escape(title) %>
+					</span>
+
+					<span class="entry-result-icon"></span>
+				</span>
+
+				<small>
+					<c:if test="<%= Validator.isNotNull(description) %>">
+						<span class="entry-description">
+							<%= HtmlUtil.escape(description) %>
+						</span>
+					</c:if>
+
+					<dl>
+						<c:if test="<%= (groupId > 0) && (groupId != scopeGroupId) %>">
+
+							<%
+							Group group = GroupLocalServiceUtil.getGroup(groupId);
+							%>
+
+							<c:if test="<%= !group.isLayout() || (group.getParentGroupId() != scopeGroupId) %>">
+								<dt>
+									<liferay-ui:message key="site" />:
+								</dt>
+
+								<dd>
+
+									<%
+									String groupDescriptiveName = null;
+
+									if (group.isLayout()) {
+										Group parentGroup = group.getParentGroup();
+
+										groupDescriptiveName = parentGroup.getDescriptiveName(locale);
+									}
+									else {
+										groupDescriptiveName = group.getDescriptiveName(locale);
+									}
+									%>
+
+									<%= HtmlUtil.escape(groupDescriptiveName) %>
+								</dd>
+							</c:if>
+
+							<c:if test="<%= group.isLayout() %>">
+								<dt>
+									<liferay-ui:message key="scope" />:
+								</dt>
+
+								<dd>
+									<%= group.getDescriptiveName(locale) %>
+								</dd>
+							</c:if>
+						</c:if>
+
+						<c:if test="<%= Validator.isNotNull(version) || ((status != WorkflowConstants.STATUS_ANY) && (status != WorkflowConstants.STATUS_APPROVED)) %>">
+							<dt>
+								<liferay-ui:message key='<%= Validator.isNotNull(version) ? "version" : "status" %>' />:
+							</dt>
+
+							<dd>
+								<c:if test="<%= Validator.isNotNull(version) %>">
+									<%= HtmlUtil.escape(version) %>
+								</c:if>
+							</dd>
+						</c:if>
+
+						<c:if test="<%= (createDate != null) && (modifiedDate != null) && Validator.isNotNull(author) %>">
+							<c:choose>
+								<c:when test="<%= modifiedDate.equals(createDate) %>">
+									<dt>
+										<liferay-ui:message key="created" />:
+									</dt>
+								</c:when>
+								<c:otherwise>
+									<dt>
+										<liferay-ui:message key="last-updated" />:
+									</dt>
+								</c:otherwise>
+							</c:choose>
+
+							<dd class="entry-author">
+								<liferay-ui:message arguments="<%= new String[] {LanguageUtil.getTimeDescription(locale, System.currentTimeMillis() - modifiedDate.getTime(), true), author} %>" key="x-ago-by-x" />
+							</dd>
+						</c:if>
+
+						<%
+						Format dateFormatDateTime = FastDateFormatFactoryUtil.getDateTime(locale, timeZone);
+						%>
+
+						<c:if test="<%= displayDate != null %>">
+							<dt>
+								<liferay-ui:message key="display-date" />:
+							</dt>
+							<dd>
+
+								<%= HtmlUtil.escape(dateFormatDateTime.format(displayDate)) %>
+
+							</dd>
+						</c:if>
+
+						<c:if test="<%= expirationDate != null %>">
+							<dt>
+								<liferay-ui:message key="expiration-date" />:
+							</dt>
+							<dd>
+
+								<%= HtmlUtil.escape(dateFormatDateTime.format(expirationDate)) %>
+
+							</dd>
+						</c:if>
+
+						<c:if test="<%= reviewDate != null %>">
+							<dt>
+								<liferay-ui:message key="review-date" />:
+							</dt>
+							<dd>
+
+								<%= HtmlUtil.escape(dateFormatDateTime.format(reviewDate)) %>
+
+							</dd>
+						</c:if>
+					</dl>
+
+					<c:if test="<%= Validator.isNotNull(assetCategoryClassName) && (assetCategoryClassPK > 0) %>">
+						<span class="entry-categories">
+							<liferay-ui:asset-categories-summary
+								className="<%= assetCategoryClassName %>"
+								classPK="<%= assetCategoryClassPK %>"
+							/>
+						</span>
+					</c:if>
+
+					<c:if test="<%= Validator.isNotNull(assetTagClassName) && (assetTagClassPK > 0) %>">
+						<span class="entry-tags">
+							<liferay-ui:asset-tags-summary
+								className="<%= assetTagClassName %>"
+								classPK="<%= assetTagClassPK %>"
+							/>
+						</span>
+					</c:if>
+
+					<c:if test="<%= Validator.isNotNull(latestApprovedVersion) && (status > WorkflowConstants.STATUS_APPROVED) %>">
+						<dl class="entry-latest-approved-container">
+							<dt>
+								<liferay-ui:message key="latest-aproved-version" />
+							</dt>
+							<dd>
+
+								<%= HtmlUtil.escape(latestApprovedVersion) %>
+
+							</dd>
+
+							<dt>
+								<liferay-ui:message key="latest-aproved-version-author" />:
+							</dt>
+							<dd>
+
+								<%= HtmlUtil.escape(latestApprovedVersionAuthor) %>
+
+							</dd>
+						</dl>
+					</c:if>
+				</small>
+			</div>
+			<c:choose>
+				<c:when test="<%= Validator.isNull(url) %>">
+					</span>
+				</c:when>
+				<c:otherwise>
+					</a>
+				</c:otherwise>
+			</c:choose>
+
+			<%
+			if (!folder) {
+				request.removeAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
+			}
+			%>
+
+			<liferay-util:include page="<%= actionJsp %>" />
+
+			<c:if test="<%= showCheckbox %>">
+				<aui:input cssClass="overlay entry-selector" label="" name="<%= RowChecker.ROW_IDS + rowCheckerName %>" type="checkbox" value="<%= rowCheckerId %>" />
+			</c:if>
+		</div>
+	</c:when>
+	<c:when test='<%= displayStyle.equals("list") %>'>
+		<div class="app-view-entry app-view-entry-taglib entry-display-style display-<%= displayStyle %> <%= locked ? "locked" : StringPool.BLANK %> <%= cssClass %>" <%= AUIUtil.buildData(data) %>>
+			<liferay-ui:icon
+				cssClass='<%= showCheckbox ? "app-view-entry app-view-entry-taglib entry-display-style selectable" : "app-view-entry app-view-entry-taglib entry-display-style" %>'
+				data="<%= data %>"
+				label="<%= true %>"
+				linkCssClass="entry-link"
+				localizeMessage="<%= false %>"
+				message="<%= title %>"
+				method="get"
+				src="<%= thumbnailSrc %>"
+				url="<%= url %>"
+			/>
+
+			<c:if test="<%= !folder && (status != WorkflowConstants.STATUS_ANY) && (status != WorkflowConstants.STATUS_APPROVED) %>">
+				<aui:workflow-status showIcon="<%= false %>" showLabel="<%= false %>" status="<%= status %>" />
+			</c:if>
+		</div>
+	</c:when>
+</c:choose>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_navigation_entry/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_navigation_entry/page.jsp
new file mode 100644
index 0000000..6c9ecef
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_navigation_entry/page.jsp
@@ -0,0 +1,46 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String actionJsp = (String)request.getAttribute("liferay-ui:app-view-navigation-entry:actionJsp");
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:app-view-navigation-entry:cssClass"));
+Map<String, Object> dataView = (Map<String, Object>)request.getAttribute("liferay-ui:app-view-navigation-entry:dataView");
+String entryTitle = (String)request.getAttribute("liferay-ui:app-view-navigation-entry:entryTitle");
+String iconImage = (String)request.getAttribute("liferay-ui:app-view-navigation-entry:iconImage");
+boolean selected = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app-view-navigation-entry:selected"));
+String viewURL = (String)request.getAttribute("liferay-ui:app-view-navigation-entry:viewURL");
+
+Map<String, Object> data = new HashMap<String, Object>();
+
+data.putAll(dataView);
+
+if (!data.containsKey("view-folders")) {
+	data.put("view-folders", Boolean.FALSE);
+}
+%>
+
+<aui:nav-item anchorCssClass='<%= "browse-" + cssClass %>' anchorData="<%= data %>" cssClass='<%= "app-view-navigation-entry " + cssClass %>' href="<%= viewURL.toString() %>" iconCssClass="<%= iconImage %>" label="<%= entryTitle %>" selected="<%= selected %>">
+
+	<%
+	request.removeAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
+	%>
+
+	<c:if test="<%= Validator.isNotNull(actionJsp) %>">
+		<liferay-util:include page="<%= actionJsp %>" />
+	</c:if>
+</aui:nav-item>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_search_entry/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_search_entry/page.jsp
new file mode 100644
index 0000000..6a21b08
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_search_entry/page.jsp
@@ -0,0 +1,188 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String actionJsp = (String)request.getAttribute("liferay-ui:app-view-search-entry:actionJsp");
+String containerIcon = GetterUtil.getString(request.getAttribute("liferay-ui:app-view-search-entry:containerIcon"), "folder");
+String containerName = (String)request.getAttribute("liferay-ui:app-view-search-entry:containerName");
+String containerSrc = (String)request.getAttribute("liferay-ui:app-view-search-entry:containerSrc");
+String containerType = GetterUtil.getString(request.getAttribute("liferay-ui:app-view-search-entry:containerType"), LanguageUtil.get(locale, "folder"));
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:app-view-search-entry:cssClass"));
+String description = (String)request.getAttribute("liferay-ui:app-view-search-entry:description");
+List<Tuple> fileEntryTuples = (List<Tuple>)request.getAttribute("liferay-ui:app-view-search-entry:fileEntryTuples");
+boolean locked = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app-view-search-entry:locked"));
+List<MBMessage> mbMessages = (List<MBMessage>)request.getAttribute("liferay-ui:app-view-search-entry:mbMessages");
+String[] queryTerms = (String[])request.getAttribute("liferay-ui:app-view-search-entry:queryTerms");
+String rowCheckerId = (String)request.getAttribute("liferay-ui:app-view-search-entry:rowCheckerId");
+String rowCheckerName = (String)request.getAttribute("liferay-ui:app-view-search-entry:rowCheckerName");
+boolean showCheckbox = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app-view-search-entry:showCheckbox"));
+int status = GetterUtil.getInteger(request.getAttribute("liferay-ui:app-view-search-entry:status"));
+String thumbnailSrc = (String)request.getAttribute("liferay-ui:app-view-search-entry:thumbnailSrc");
+String title = (String)request.getAttribute("liferay-ui:app-view-search-entry:title");
+String url = (String)request.getAttribute("liferay-ui:app-view-search-entry:url");
+List<String> versions = (List<String>)request.getAttribute("liferay-ui:app-view-search-entry:versions");
+%>
+
+<div class="app-view-entry app-view-search-entry-taglib entry-display-style <%= showCheckbox ? "selectable" : StringPool.BLANK %> <%= cssClass %>" data-title="<%= HtmlUtil.escapeAttribute(StringUtil.shorten(title, 60)) %>">
+	<a class="entry-link" href="<%= url %>" title="<%= HtmlUtil.escapeAttribute(title + " - " + description) %>">
+		<c:if test="<%= Validator.isNotNull(thumbnailSrc) %>">
+			<div class="entry-thumbnail">
+				<img alt="" border="no" class="img-polaroid" src="<%= thumbnailSrc %>" />
+
+				<c:if test="<%= locked %>">
+					<img alt="<liferay-ui:message key="locked" />" class="locked-icon" src="<%= themeDisplay.getPathThemeImages() %>/file_system/large/overlay_lock.png" />
+				</c:if>
+			</div>
+		</c:if>
+
+		<div class="entry-metadata">
+			<span class="entry-title">
+				<%= StringUtil.highlight(HtmlUtil.escape(title), queryTerms) %>
+
+				<c:if test="<%= (status != WorkflowConstants.STATUS_ANY) && (status != WorkflowConstants.STATUS_APPROVED) %>">
+					<aui:workflow-status showIcon="<%= false %>" showLabel="<%= false %>" status="<%= status %>" />
+				</c:if>
+			</span>
+
+			<c:if test="<%= ((versions != null) && !versions.isEmpty()) || Validator.isNotNull(containerName) %>">
+				<small>
+					<dl>
+						<c:if test="<%= (versions != null) && !versions.isEmpty() %>">
+							<dt>
+								<liferay-ui:message key="versions" />:
+							</dt>
+							<dd>
+
+								<%= StringUtil.merge(versions, StringPool.COMMA_AND_SPACE) %>
+
+							</dd>
+						</c:if>
+
+						<c:if test="<%= Validator.isNotNull(containerName) %>">
+							<dt>
+								<c:choose>
+									<c:when test="<%= Validator.isNotNull(containerSrc) %>">
+										<liferay-ui:icon
+											label="<%= true %>"
+											message="<%= LanguageUtil.get(locale, containerType) %>"
+											src="<%= containerSrc %>"
+										/>
+									</c:when>
+									<c:otherwise>
+										<liferay-ui:icon
+											image='<%= (Validator.isNotNull(containerIcon)) ? containerIcon : "folder" %>'
+											label="<%= true %>"
+											message="<%= LanguageUtil.get(locale, containerType) %>"
+										/>
+									</c:otherwise>
+								</c:choose>
+								:
+							</dt>
+							<dd>
+
+								<%= containerName %>
+
+							</dd>
+						</c:if>
+					</dl>
+				</small>
+			</c:if>
+
+			<span class="entry-description">
+				<%= StringUtil.highlight(HtmlUtil.escape(description), queryTerms) %>
+			</span>
+		</div>
+	</a>
+
+	<c:if test="<%= fileEntryTuples != null %>">
+
+		<%
+		for (Tuple fileEntryTuple : fileEntryTuples) {
+			FileEntry fileEntry = (FileEntry)fileEntryTuple.getObject(0);
+			Summary summary = (Summary)fileEntryTuple.getObject(1);
+		%>
+
+			<div class="entry-attachment">
+				<aui:a class="lfr-discussion-details" href="<%= url %>">
+					<div class="image">
+						<img alt="<%= fileEntry.getTitle() %>" class="attachment" src="<%= DLUtil.getThumbnailSrc(fileEntry, null, themeDisplay) %>" />
+					</div>
+
+						<span class="title">
+							<liferay-ui:icon
+								image='<%= "../file_system/small/" + DLUtil.getFileIcon(fileEntry.getExtension()) %>'
+								label="<%= true %>"
+								message='<%= LanguageUtil.format(locale, "attachment-added-by-x", HtmlUtil.escape(fileEntry.getUserName())) %>'
+							/>
+						</span>
+
+						<span class="body">
+							<%= StringUtil.highlight((Validator.isNotNull(summary.getContent())) ? summary.getContent() : fileEntry.getTitle(), queryTerms) %>
+						</span>
+				</aui:a>
+			</div>
+
+		<%
+		}
+		%>
+
+	</c:if>
+
+	<c:if test="<%= mbMessages != null %>">
+
+		<%
+		for (MBMessage mbMessage : mbMessages) {
+			User userDisplay = UserLocalServiceUtil.getUser(mbMessage.getUserId());
+		%>
+
+			<div class="entry-discussion">
+				<aui:a class="lfr-discussion-details" href="<%= url %>">
+					<div class="image">
+						<img alt="<%= HtmlUtil.escapeAttribute(userDisplay.getFullName()) %>" class="avatar" src="<%= HtmlUtil.escape(userDisplay.getPortraitURL(themeDisplay)) %>" />
+					</div>
+
+					<span class="title">
+						<liferay-ui:icon
+							image="message"
+							label="<%= true %>"
+							message='<%= LanguageUtil.format(locale, "comment-by-x", HtmlUtil.escape(userDisplay.getFullName())) %>'
+						/>
+					</span>
+
+					<span class="body">
+						<%= StringUtil.highlight(mbMessage.getSubject(), queryTerms) %>
+					</span>
+				</aui:a>
+			</div>
+
+		<%
+		}
+		%>
+
+	</c:if>
+
+	<c:if test="<%= showCheckbox %>">
+		<aui:input cssClass="overlay entry-selector" label="" name="<%= RowChecker.ROW_IDS + rowCheckerName %>" type="checkbox" value="<%= rowCheckerId %>" />
+	</c:if>
+
+	<c:if test="<%= Validator.isNotNull(actionJsp) %>">
+		<liferay-util:include page="<%= actionJsp %>">
+			<liferay-util:param name="showMinimalActionButtons" value="<%= String.valueOf(Boolean.TRUE) %>" />
+		</liferay-util:include>
+	</c:if>
+</div>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_toolbar/end.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_toolbar/end.jsp
new file mode 100644
index 0000000..38cd47f
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_toolbar/end.jsp
@@ -0,0 +1,31 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+boolean includeDisplayStyle = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app_view_toolbar:includeDisplayStyle"));
+%>
+
+		</div>
+
+		<c:if test="<%= includeDisplayStyle %>">
+			<div class="display-style">
+				<span class="toolbar" id="<portlet:namespace />displayStyleToolbar"></span>
+			</div>
+		</c:if>
+	</div>
+</div>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_toolbar/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_toolbar/start.jsp
new file mode 100644
index 0000000..f93a19e
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/app_view_toolbar/start.jsp
@@ -0,0 +1,35 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+boolean includeSelectAll = GetterUtil.getBoolean(request.getAttribute("liferay-ui:app_view_toolbar:includeSelectAll"));
+String searchJsp = (String)request.getAttribute("liferay-ui:app_view_toolbar:searchJsp");
+%>
+
+<div class="app-view-taglib">
+	<div class="lfr-header-row-content">
+		<c:if test="<%= Validator.isNotNull(searchJsp) %>">
+			<liferay-util:include page="<%= searchJsp %>" />
+		</c:if>
+
+		<div>
+			<c:if test="<%= includeSelectAll %>">
+				<c:if test="<%= !user.isDefaultUser() %>">
+					<aui:input cssClass="select-all-entries" inline="<%= true %>" label="" name="<%= RowChecker.ALL_ROW_IDS %>" type="checkbox" />
+				</c:if>
+			</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_error/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_error/init.jsp
new file mode 100644
index 0000000..34444fa
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_error/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.asset.AssetCategoryException" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_error/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_error/page.jsp
new file mode 100644
index 0000000..78e85e2
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_error/page.jsp
@@ -0,0 +1,41 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/asset_categories_error/init.jsp" %>
+
+<liferay-ui:error exception="<%= AssetCategoryException.class %>">
+
+	<%
+	AssetCategoryException ace = (AssetCategoryException)errorException;
+
+	AssetVocabulary vocabulary = ace.getVocabulary();
+
+	String vocabularyTitle = StringPool.BLANK;
+
+	if (vocabulary != null) {
+		vocabularyTitle = vocabulary.getTitle(locale);
+	}
+	%>
+
+	<c:choose>
+		<c:when test="<%= ace.getType() == AssetCategoryException.AT_LEAST_ONE_CATEGORY %>">
+			<liferay-ui:message key='<%= LanguageUtil.format(pageContext, "please-select-at-least-one-category-for-x", vocabularyTitle, false) %>' />
+		</c:when>
+		<c:when test="<%= ace.getType() == AssetCategoryException.TOO_MANY_CATEGORIES %>">
+			<liferay-ui:message key='<%= LanguageUtil.format(pageContext, "you-cannot-select-more-than-one-category-for-x", vocabularyTitle, false) %>' />
+		</c:when>
+	</c:choose>
+</liferay-ui:error>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_navigation/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_navigation/init.jsp
new file mode 100644
index 0000000..36a4457
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_navigation/init.jsp
@@ -0,0 +1,21 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.asset.NoSuchVocabularyException" %>
+
+<portlet:defineObjects />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_navigation/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_navigation/page.jsp
new file mode 100644
index 0000000..8f253d5
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_navigation/page.jsp
@@ -0,0 +1,179 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/asset_categories_navigation/init.jsp" %>
+
+<%
+boolean hidePortletWhenEmpty = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:asset-tags-navigation:hidePortletWhenEmpty"));
+long[] vocabularyIds = (long[])request.getAttribute("liferay-ui:asset-tags-navigation:vocabularyIds");
+
+long categoryId = ParamUtil.getLong(request, "categoryId");
+
+List<AssetVocabulary> vocabularies = null;
+
+if (vocabularyIds == null) {
+	vocabularies = AssetVocabularyServiceUtil.getGroupsVocabularies(new long[] {scopeGroupId, themeDisplay.getCompanyGroupId()});
+}
+else {
+	vocabularies = new ArrayList<AssetVocabulary>();
+
+	for (long vocabularyId : vocabularyIds) {
+		try {
+			vocabularies.add(AssetVocabularyServiceUtil.getVocabulary(vocabularyId));
+		}
+		catch (NoSuchVocabularyException nsve) {
+		}
+	}
+}
+
+PortletURL portletURL = renderResponse.createRenderURL();
+%>
+
+<liferay-ui:panel-container cssClass="taglib-asset-categories-navigation" extended="<%= true %>" id='<%= namespace + "taglibAssetCategoriesNavigationPanel" %>' persistState="<%= true %>">
+
+	<%
+	for (int i = 0; i < vocabularies.size(); i++) {
+		AssetVocabulary vocabulary = vocabularies.get(i);
+
+		vocabulary = vocabulary.toEscapedModel();
+
+		String vocabularyNavigation = _buildVocabularyNavigation(vocabulary, categoryId, portletURL, themeDisplay);
+
+		if (Validator.isNotNull(vocabularyNavigation)) {
+			hidePortletWhenEmpty = false;
+	%>
+
+			<liferay-ui:panel collapsible="<%= false %>" extended="<%= true %>" persistState="<%= true %>" title="<%= vocabulary.getTitle(locale) %>">
+				<%= vocabularyNavigation %>
+			</liferay-ui:panel>
+
+	<%
+		}
+	}
+	%>
+
+</liferay-ui:panel-container>
+
+<%
+if (hidePortletWhenEmpty) {
+	renderRequest.setAttribute(WebKeys.PORTLET_CONFIGURATOR_VISIBILITY, Boolean.TRUE);
+%>
+
+	<div class="alert alert-info">
+		<liferay-ui:message key="there-are-no-categories" />
+	</div>
+
+<%
+}
+
+if (categoryId > 0) {
+	AssetUtil.addPortletBreadcrumbEntries(categoryId, request, portletURL);
+}
+%>
+
+<aui:script use="aui-tree-view">
+	var treeViews = A.all('#<%= namespace %>taglibAssetCategoriesNavigationPanel .lfr-asset-category-list-container');
+
+	treeViews.each(
+		function(item, index, collection) {
+			var assetCategoryList = item.one('.lfr-asset-category-list');
+
+			var treeView = new A.TreeView(
+				{
+					boundingBox: item,
+					contentBox: assetCategoryList,
+					type: 'normal'
+				}
+			).render();
+
+			var selected = assetCategoryList.one('.tree-node .tag-selected');
+
+			if (selected) {
+				var selectedChild = treeView.getNodeByChild(selected);
+
+				selectedChild.expand();
+
+				selectedChild.eachParent(
+					function(node) {
+						if (node instanceof A.TreeNode) {
+							node.expand();
+						}
+					}
+				);
+			}
+		}
+	);
+</aui:script>
+
+<%!
+private void _buildCategoriesNavigation(List<AssetCategory> categories, long categoryId, PortletURL portletURL, ThemeDisplay themeDisplay, StringBundler sb) throws Exception {
+	for (AssetCategory category : categories) {
+		category = category.toEscapedModel();
+
+		String title = category.getTitle(themeDisplay.getLocale());
+
+		List<AssetCategory> categoriesChildren = AssetCategoryServiceUtil.getChildCategories(category.getCategoryId(), QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
+
+		sb.append("<li class=\"tree-node\"><span>");
+
+		if (categoryId == category.getCategoryId()) {
+			portletURL.setParameter("categoryId", StringPool.BLANK);
+
+			sb.append("<a class=\"tag-selected\" href=\"");
+		}
+		else {
+			portletURL.setParameter("resetCur", Boolean.TRUE.toString());
+			portletURL.setParameter("categoryId", String.valueOf(category.getCategoryId()));
+
+			sb.append("<a href=\"");
+		}
+
+		sb.append(HtmlUtil.escape(portletURL.toString()));
+		sb.append("\">");
+		sb.append(title);
+		sb.append("</a>");
+		sb.append("</span>");
+
+		if (!categoriesChildren.isEmpty()) {
+			sb.append("<ul>");
+
+			_buildCategoriesNavigation(categoriesChildren, categoryId, portletURL, themeDisplay, sb);
+
+			sb.append("</ul>");
+		}
+
+		sb.append("</li>");
+	}
+}
+
+private String _buildVocabularyNavigation(AssetVocabulary vocabulary, long categoryId, PortletURL portletURL, ThemeDisplay themeDisplay) throws Exception {
+	List<AssetCategory> categories = AssetCategoryServiceUtil.getVocabularyRootCategories(vocabulary.getVocabularyId(), QueryUtil.ALL_POS, QueryUtil.ALL_POS, null);
+
+	if (categories.isEmpty()) {
+		return null;
+	}
+
+	StringBundler sb = new StringBundler();
+
+	sb.append("<div class=\"lfr-asset-category-list-container\"><ul class=\"lfr-asset-category-list\">");
+
+	_buildCategoriesNavigation(categories, categoryId, portletURL, themeDisplay, sb);
+
+	sb.append("</ul></div>");
+
+	return sb.toString();
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_selector/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_selector/init.jsp
new file mode 100644
index 0000000..7c2dd98
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_selector/init.jsp
@@ -0,0 +1,21 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.asset.model.AssetCategoryConstants" %>
+
+<portlet:defineObjects />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_selector/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_selector/page.jsp
new file mode 100644
index 0000000..e3a48e1
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_selector/page.jsp
@@ -0,0 +1,225 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/asset_categories_selector/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_asset_categories_selector_page") + StringPool.UNDERLINE;
+
+String className = (String)request.getAttribute("liferay-ui:asset-categories-selector:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:asset-categories-selector:classPK"));
+String hiddenInput = (String)request.getAttribute("liferay-ui:asset-categories-selector:hiddenInput");
+String curCategoryIds = GetterUtil.getString((String)request.getAttribute("liferay-ui:asset-categories-selector:curCategoryIds"), "");
+String curCategoryNames = StringPool.BLANK;
+int maxEntries = GetterUtil.getInteger(PropsUtil.get(PropsKeys.ASSET_CATEGORIES_SELECTOR_MAX_ENTRIES));
+
+List<AssetVocabulary> vocabularies = new ArrayList<AssetVocabulary>();
+
+Group siteGroup = themeDisplay.getSiteGroup();
+
+StringBundler vocabularyGroupIds = new StringBundler(3);
+
+vocabularies.addAll(AssetVocabularyServiceUtil.getGroupVocabularies(siteGroup.getGroupId(), false));
+
+vocabularyGroupIds.append(siteGroup.getGroupId());
+
+if (scopeGroupId != themeDisplay.getCompanyGroupId()) {
+	vocabularies.addAll(AssetVocabularyServiceUtil.getGroupVocabularies(themeDisplay.getCompanyGroupId(), false));
+
+	vocabularyGroupIds.append(StringPool.COMMA);
+	vocabularyGroupIds.append(themeDisplay.getCompanyGroupId());
+}
+
+if (Validator.isNotNull(className)) {
+	long classNameId = PortalUtil.getClassNameId(className);
+
+	for (AssetVocabulary vocabulary : vocabularies) {
+		vocabulary = vocabulary.toEscapedModel();
+
+		int vocabularyCategoriesCount = AssetCategoryServiceUtil.getVocabularyCategoriesCount(vocabulary.getGroupId(), vocabulary.getVocabularyId());
+
+		if (vocabularyCategoriesCount == 0) {
+			continue;
+		}
+
+		UnicodeProperties settingsProperties = vocabulary.getSettingsProperties();
+
+		long[] selectedClassNameIds = StringUtil.split(settingsProperties.getProperty("selectedClassNameIds"), 0L);
+
+		if ((selectedClassNameIds.length > 0) && (selectedClassNameIds[0] != AssetCategoryConstants.ALL_CLASS_NAME_IDS) && !ArrayUtil.contains(selectedClassNameIds, classNameId)) {
+			continue;
+		}
+
+		if (Validator.isNotNull(className) && (classPK > 0)) {
+			List<AssetCategory> categories = AssetCategoryServiceUtil.getCategories(className, classPK);
+
+			curCategoryIds = ListUtil.toString(categories, AssetCategory.CATEGORY_ID_ACCESSOR);
+			curCategoryNames = ListUtil.toString(categories, AssetCategory.NAME_ACCESSOR);
+		}
+
+		String curCategoryIdsParam = request.getParameter(hiddenInput + StringPool.UNDERLINE + vocabulary.getVocabularyId());
+
+		if (Validator.isNotNull(curCategoryIdsParam)) {
+			curCategoryIds = curCategoryIdsParam;
+			curCategoryNames = StringPool.BLANK;
+		}
+
+		String[] categoryIdsTitles = _getCategoryIdsTitles(curCategoryIds, curCategoryNames, vocabulary.getVocabularyId(), themeDisplay);
+	%>
+
+		<span class="field-content">
+			<label id="<%= namespace %>assetCategoriesLabel_<%= vocabulary.getVocabularyId() %>">
+				<%= vocabulary.getTitle(locale) %>
+
+				<c:if test="<%= vocabulary.getGroupId() == themeDisplay.getCompanyGroupId() %>">
+					(<liferay-ui:message key="global" />)
+				</c:if>
+
+				<c:if test="<%= vocabulary.isRequired(classNameId) %>">
+					<span class="label-required">(<liferay-ui:message key="required" />)</span>
+				</c:if>
+			</label>
+
+			<div class="lfr-tags-selector-content" id="<%= namespace + randomNamespace %>assetCategoriesSelector_<%= vocabulary.getVocabularyId() %>">
+				<aui:input name="<%= hiddenInput + StringPool.UNDERLINE + vocabulary.getVocabularyId() %>" type="hidden" />
+			</div>
+		</span>
+
+		<aui:script use="liferay-asset-categories-selector">
+			new Liferay.AssetCategoriesSelector(
+				{
+					className: '<%= className %>',
+					contentBox: '#<%= namespace + randomNamespace %>assetCategoriesSelector_<%= vocabulary.getVocabularyId() %>',
+					curEntries: '<%= HtmlUtil.escapeJS(categoryIdsTitles[1]) %>',
+					curEntryIds: '<%= categoryIdsTitles[0] %>',
+					hiddenInput: '#<%= namespace + hiddenInput + StringPool.UNDERLINE + vocabulary.getVocabularyId() %>',
+					instanceVar: '<%= namespace + randomNamespace %>',
+					labelNode: '#<%= namespace %>assetCategoriesLabel_<%= vocabulary.getVocabularyId() %>',
+					maxEntries: <%= maxEntries %>,
+					moreResultsLabel: '<%= UnicodeLanguageUtil.get(pageContext, "load-more-results") %>',
+					portalModelResource: <%= Validator.isNotNull(className) && (ResourceActionsUtil.isPortalModelResource(className) || className.equals(Group.class.getName())) %>,
+					singleSelect: <%= !vocabulary.isMultiValued() %>,
+					title: '<%= UnicodeLanguageUtil.format(pageContext, "select-x", vocabulary.getTitle(locale)) %>',
+					vocabularyGroupIds: '<%= vocabulary.getGroupId() %>',
+					vocabularyIds: '<%= String.valueOf(vocabulary.getVocabularyId()) %>'
+				}
+			).render();
+		</aui:script>
+
+	<%
+	}
+}
+else {
+	String curCategoryIdsParam = request.getParameter(hiddenInput);
+
+	if (curCategoryIdsParam != null) {
+		curCategoryIds = curCategoryIdsParam;
+	}
+
+	String[] categoryIdsTitles = _getCategoryIdsTitles(curCategoryIds, curCategoryNames, 0, themeDisplay);
+%>
+
+	<div class="lfr-tags-selector-content" id="<%= namespace + randomNamespace %>assetCategoriesSelector">
+		<aui:input name="<%= hiddenInput %>" type="hidden" />
+	</div>
+
+	<aui:script use="liferay-asset-categories-selector">
+		new Liferay.AssetCategoriesSelector(
+			{
+				className: '<%= className %>',
+				contentBox: '#<%= namespace + randomNamespace %>assetCategoriesSelector',
+				curEntries: '<%= HtmlUtil.escapeJS(categoryIdsTitles[1]) %>',
+				curEntryIds: '<%= categoryIdsTitles[0] %>',
+				hiddenInput: '#<%= namespace + hiddenInput %>',
+				instanceVar: '<%= namespace + randomNamespace %>',
+				maxEntries: <%= maxEntries %>,
+				moreResultsLabel: '<%= UnicodeLanguageUtil.get(pageContext, "load-more-results") %>',
+				portalModelResource: <%= Validator.isNotNull(className) && (ResourceActionsUtil.isPortalModelResource(className) || className.equals(Group.class.getName())) %>,
+				vocabularyGroupIds: '<%= vocabularyGroupIds.toString() %>',
+				vocabularyIds: '<%= ListUtil.toString(vocabularies, "vocabularyId") %>'
+			}
+		).render();
+	</aui:script>
+
+<%
+}
+%>
+
+<%!
+private long[] _filterCategoryIds(long vocabularyId, long[] categoryIds) throws PortalException, SystemException {
+	List<Long> filteredCategoryIds = new ArrayList<Long>();
+
+	for (long categoryId : categoryIds) {
+		AssetCategory category = AssetCategoryLocalServiceUtil.fetchCategory(categoryId);
+
+		if (category == null) {
+			continue;
+		}
+
+		if (category.getVocabularyId() == vocabularyId) {
+			filteredCategoryIds.add(category.getCategoryId());
+		}
+	}
+
+	return ArrayUtil.toArray(filteredCategoryIds.toArray(new Long[filteredCategoryIds.size()]));
+}
+
+private String[] _getCategoryIdsTitles(String categoryIds, String categoryNames, long vocabularyId, ThemeDisplay themeDisplay) throws PortalException, SystemException {
+	if (Validator.isNotNull(categoryIds)) {
+		long[] categoryIdsArray = GetterUtil.getLongValues(StringUtil.split(categoryIds));
+
+		if (vocabularyId > 0) {
+			categoryIdsArray = _filterCategoryIds(vocabularyId, categoryIdsArray);
+		}
+
+		categoryIds = StringPool.BLANK;
+		categoryNames = StringPool.BLANK;
+
+		if (categoryIdsArray.length > 0) {
+			StringBundler categoryIdsSb = new StringBundler(categoryIdsArray.length * 2);
+			StringBundler categoryNamesSb = new StringBundler(categoryIdsArray.length * 2);
+
+			for (long categoryId : categoryIdsArray) {
+				AssetCategory category = AssetCategoryLocalServiceUtil.fetchCategory(categoryId);
+
+				if (category == null) {
+					continue;
+				}
+
+				category = category.toEscapedModel();
+
+				categoryIdsSb.append(categoryId);
+				categoryIdsSb.append(StringPool.COMMA);
+
+				categoryNamesSb.append(category.getTitle(themeDisplay.getLocale()));
+				categoryNamesSb.append(_CATEGORY_SEPARATOR);
+			}
+
+			if (categoryIdsSb.index() > 0) {
+				categoryIdsSb.setIndex(categoryIdsSb.index() - 1);
+				categoryNamesSb.setIndex(categoryNamesSb.index() - 1);
+
+				categoryIds = categoryIdsSb.toString();
+				categoryNames = categoryNamesSb.toString();
+			}
+		}
+	}
+
+	return new String[] {categoryIds, categoryNames};
+}
+
+private static final String _CATEGORY_SEPARATOR = "_CATEGORY_";
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_summary/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_summary/page.jsp
new file mode 100644
index 0000000..88bd451
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_categories_summary/page.jsp
@@ -0,0 +1,115 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String className = (String)request.getAttribute("liferay-ui:asset-categories-summary:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:asset-categories-summary:classPK"));
+PortletURL portletURL = (PortletURL)request.getAttribute("liferay-ui:asset-categories-summary:portletURL");
+
+List<AssetVocabulary> vocabularies = AssetVocabularyServiceUtil.getGroupsVocabularies(new long[] {themeDisplay.getSiteGroupId(), themeDisplay.getCompanyGroupId()});
+List<AssetCategory> categories = AssetCategoryServiceUtil.getCategories(className, classPK);
+
+for (AssetVocabulary vocabulary : vocabularies) {
+	vocabulary = vocabulary.toEscapedModel();
+
+	String vocabularyTitle = vocabulary.getTitle(themeDisplay.getLocale());
+
+	List<AssetCategory> curCategories = _filterCategories(categories, vocabulary);
+%>
+
+	<c:if test="<%= !curCategories.isEmpty() %>">
+		<span class="taglib-asset-categories-summary">
+			<%= vocabularyTitle %>:
+
+			<c:choose>
+				<c:when test="<%= portletURL != null %>">
+
+					<%
+					for (AssetCategory category : curCategories) {
+						category = category.toEscapedModel();
+
+						portletURL.setParameter("categoryId", String.valueOf(category.getCategoryId()));
+					%>
+
+						<a class="asset-category" href="<%= HtmlUtil.escape(portletURL.toString()) %>"><%= _buildCategoryPath(category, themeDisplay) %></a>
+
+					<%
+					}
+					%>
+
+				</c:when>
+				<c:otherwise>
+
+					<%
+					for (AssetCategory category : curCategories) {
+						category = category.toEscapedModel();
+					%>
+
+						<span class="asset-category">
+							<%= _buildCategoryPath(category, themeDisplay) %>
+						</span>
+
+					<%
+					}
+					%>
+
+				</c:otherwise>
+			</c:choose>
+		</span>
+	</c:if>
+
+<%
+}
+%>
+
+<%!
+private String _buildCategoryPath(AssetCategory category, ThemeDisplay themeDisplay) throws PortalException, SystemException {
+	List<AssetCategory> ancestorCategories = category.getAncestors();
+
+	if (ancestorCategories.isEmpty()) {
+		return category.getTitle(themeDisplay.getLocale());
+	}
+
+	Collections.reverse(ancestorCategories);
+
+	StringBundler sb = new StringBundler(ancestorCategories.size() * 2 + 1);
+
+	for (AssetCategory ancestorCategory : ancestorCategories) {
+		ancestorCategory = ancestorCategory.toEscapedModel();
+
+		sb.append(ancestorCategory.getTitle(themeDisplay.getLocale()));
+		sb.append(" &raquo; ");
+	}
+
+	sb.append(category.getTitle(themeDisplay.getLocale()));
+
+	return sb.toString();
+}
+
+private List<AssetCategory> _filterCategories(List<AssetCategory> categories, AssetVocabulary vocabulary) {
+	List<AssetCategory> filteredCategories = new ArrayList<AssetCategory>();
+
+	for (AssetCategory category : categories) {
+		if (category.getVocabularyId() == vocabulary.getVocabularyId()) {
+			filteredCategories.add(category);
+		}
+	}
+
+	return filteredCategories;
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_links/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_links/init.jsp
new file mode 100644
index 0000000..d184756
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_links/init.jsp
@@ -0,0 +1,20 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.asset.model.AssetLink" %><%@
+page import="com.liferay.portlet.asset.service.AssetLinkLocalServiceUtil" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_links/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_links/page.jsp
new file mode 100644
index 0000000..77ce373
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_links/page.jsp
@@ -0,0 +1,102 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/asset_links/init.jsp" %>
+
+<%
+long assetEntryId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:asset-links:assetEntryId"));
+
+List<AssetLink> assetLinks = null;
+
+if (assetEntryId > 0) {
+	assetLinks = AssetLinkLocalServiceUtil.getDirectLinks(assetEntryId);
+}
+%>
+
+<c:if test="<%= (assetLinks != null) && !assetLinks.isEmpty() %>">
+	<div class="taglib-asset-links">
+		<h2 class="asset-links-title"><liferay-ui:message key="related-assets" />:</h2>
+
+		<ul class="asset-links-list">
+
+			<%
+			for (AssetLink assetLink : assetLinks) {
+				AssetEntry assetLinkEntry = null;
+
+				if (assetLink.getEntryId1() == assetEntryId) {
+					assetLinkEntry = AssetEntryLocalServiceUtil.getEntry(assetLink.getEntryId2());
+				}
+				else {
+					assetLinkEntry = AssetEntryLocalServiceUtil.getEntry(assetLink.getEntryId1());
+				}
+
+				if (!assetLinkEntry.isVisible()) {
+					continue;
+				}
+
+				assetLinkEntry = assetLinkEntry.toEscapedModel();
+
+				AssetRendererFactory assetRendererFactory = AssetRendererFactoryRegistryUtil.getAssetRendererFactoryByClassName(PortalUtil.getClassName(assetLinkEntry.getClassNameId()));
+
+				if (!assetRendererFactory.isActive(company.getCompanyId())) {
+					continue;
+				}
+
+				AssetRenderer assetRenderer = assetRendererFactory.getAssetRenderer(assetLinkEntry.getClassPK());
+
+				if (assetRenderer.hasViewPermission(permissionChecker)) {
+					String asseLinktEntryTitle = assetLinkEntry.getTitle(locale);
+
+					LiferayPortletURL assetPublisherURL = new PortletURLImpl(request, PortletKeys.ASSET_PUBLISHER, plid, PortletRequest.RENDER_PHASE);
+
+					assetPublisherURL.setParameter("struts_action", "/asset_publisher/view_content");
+					assetPublisherURL.setParameter("assetEntryId", String.valueOf(assetLinkEntry.getEntryId()));
+					assetPublisherURL.setParameter("type", assetRendererFactory.getType());
+
+					if (Validator.isNotNull(assetRenderer.getUrlTitle())) {
+						if (assetRenderer.getGroupId() != themeDisplay.getSiteGroupId()) {
+							assetPublisherURL.setParameter("groupId", String.valueOf(assetRenderer.getGroupId()));
+						}
+
+						assetPublisherURL.setParameter("urlTitle", assetRenderer.getUrlTitle());
+					}
+
+					assetPublisherURL.setWindowState(WindowState.MAXIMIZED);
+
+					String viewFullContentURLString = assetPublisherURL.toString();
+
+					viewFullContentURLString = HttpUtil.setParameter(viewFullContentURLString, "redirect", currentURL);
+
+					String urlViewInContext = assetRenderer.getURLViewInContext((LiferayPortletRequest)portletRequest, (LiferayPortletResponse)portletResponse, viewFullContentURLString);
+			%>
+
+					<li class="asset-links-list-item">
+						<liferay-ui:icon
+							label="<%= true %>"
+							message="<%= asseLinktEntryTitle %>"
+							src="<%= assetRenderer.getIconPath(portletRequest) %>"
+							url="<%= urlViewInContext %>"
+						/>
+					</li>
+
+			<%
+				}
+			}
+			%>
+
+		</ul>
+	</div>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_error/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_error/init.jsp
new file mode 100644
index 0000000..7ed519d
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_error/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.asset.AssetTagException" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_error/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_error/page.jsp
new file mode 100644
index 0000000..f545da0
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_error/page.jsp
@@ -0,0 +1,33 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/asset_tags_error/init.jsp" %>
+
+<liferay-ui:error exception="<%= AssetTagException.class %>">
+
+	<%
+	AssetTagException ate = (AssetTagException)errorException;
+	%>
+
+	<c:choose>
+		<c:when test="<%= ate.getType() == AssetTagException.AT_LEAST_ONE_TAG %>">
+			<liferay-ui:message key="please-enter-at-least-one-tag" />
+		</c:when>
+		<c:when test="<%= ate.getType() == AssetTagException.INVALID_CHARACTER %>">
+			<liferay-ui:message key="one-or-more-tags-contains-invalid-characters" />
+		</c:when>
+	</c:choose>
+</liferay-ui:error>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_navigation/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_navigation/init.jsp
new file mode 100644
index 0000000..9281847
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_navigation/init.jsp
@@ -0,0 +1,21 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.asset.util.comparator.AssetTagCountComparator" %>
+
+<portlet:defineObjects />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_navigation/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_navigation/page.jsp
new file mode 100644
index 0000000..848afaf
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_navigation/page.jsp
@@ -0,0 +1,175 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/asset_tags_navigation/init.jsp" %>
+
+<%
+long classNameId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:asset-tags-navigation:classNameId"));
+String displayStyle = (String)request.getAttribute("liferay-ui:asset-tags-navigation:displayStyle");
+boolean hidePortletWhenEmpty = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:asset-tags-navigation:hidePortletWhenEmpty"));
+int maxAssetTags= GetterUtil.getInteger((String)request.getAttribute("liferay-ui:asset-tags-navigation:maxAssetTags"));
+boolean showAssetCount = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:asset-tags-navigation:showAssetCount"));
+boolean showZeroAssetCount = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:asset-tags-navigation:showZeroAssetCount"));
+
+String tag = ParamUtil.getString(request, "tag");
+
+PortletURL portletURL = renderResponse.createRenderURL();
+
+String tagsNavigation = _buildTagsNavigation(scopeGroupId, themeDisplay.getSiteGroupId(), tag, portletURL, classNameId, displayStyle, maxAssetTags, showAssetCount, showZeroAssetCount);
+
+if (Validator.isNotNull(tagsNavigation)) {
+%>
+
+	<liferay-ui:panel-container cssClass="taglib-asset-tags-navigation" extended="<%= true %>" persistState="<%= true %>">
+		<%= tagsNavigation %>
+	</liferay-ui:panel-container>
+
+<%
+}
+else {
+	if (hidePortletWhenEmpty) {
+		renderRequest.setAttribute(WebKeys.PORTLET_CONFIGURATOR_VISIBILITY, Boolean.TRUE);
+	}
+%>
+
+	<div class="alert alert-info">
+		<liferay-ui:message key="there-are-no-tags" />
+	</div>
+
+<%
+}
+
+if (Validator.isNotNull(tag)) {
+	PortalUtil.addPortletBreadcrumbEntry(request, tag, currentURL);
+}
+%>
+
+<%!
+private String _buildTagsNavigation(long scopeGroupId, long siteGroupId, String selectedTagName, PortletURL portletURL, long classNameId, String displayStyle, int maxAssetTags, boolean showAssetCount, boolean showZeroAssetCount) throws Exception {
+	List<AssetTag> tags = null;
+
+	if (showAssetCount && (classNameId > 0)) {
+		tags = AssetTagServiceUtil.getTags(scopeGroupId, classNameId, null, 0, maxAssetTags, new AssetTagCountComparator());
+	}
+	else {
+		tags = AssetTagServiceUtil.getGroupTags(siteGroupId, 0, maxAssetTags, new AssetTagCountComparator());
+	}
+
+	if (tags.isEmpty()) {
+		return null;
+	}
+
+	tags = ListUtil.sort(tags);
+
+	StringBundler sb = new StringBundler();
+
+	sb.append("<ul class=\"tag-items ");
+
+	if (showAssetCount && displayStyle.equals("cloud")) {
+		sb.append("tag-cloud");
+	}
+	else {
+		sb.append("tag-list");
+	}
+
+	sb.append("\">");
+
+	int maxCount = 1;
+	int minCount = 1;
+
+	if (showAssetCount && displayStyle.equals("cloud")) {
+		for (AssetTag tag : tags) {
+			String tagName = tag.getName();
+
+			int count = 0;
+
+			if (classNameId > 0) {
+				count = AssetTagServiceUtil.getTagsCount(scopeGroupId, classNameId, tagName);
+			}
+			else {
+				count = AssetTagServiceUtil.getTagsCount(scopeGroupId, tagName);
+			}
+
+			if (!showZeroAssetCount && (count == 0)) {
+				continue;
+			}
+
+			maxCount = Math.max(maxCount, count);
+			minCount = Math.min(minCount, count);
+		}
+	}
+
+	double multiplier = 1;
+
+	if (maxCount != minCount) {
+		multiplier = (double)5 / (maxCount - minCount);
+	}
+
+	for (AssetTag tag : tags) {
+		String tagName = tag.getName();
+
+		int count = 0;
+
+		if (classNameId > 0) {
+			count = AssetTagServiceUtil.getTagsCount(scopeGroupId, classNameId, tagName);
+		}
+		else {
+			count = AssetTagServiceUtil.getTagsCount(scopeGroupId, tagName);
+		}
+
+		int popularity = (int)(1 + ((maxCount - (maxCount - (count - minCount))) * multiplier));
+
+		if (!showZeroAssetCount && (count == 0)) {
+			continue;
+		}
+
+		sb.append("<li class=\"tag-popularity-");
+		sb.append(popularity);
+		sb.append("\"><span>");
+
+		if (tagName.equals(selectedTagName)) {
+			portletURL.setParameter("tag", StringPool.BLANK);
+
+			sb.append("<a class=\"tag-selected\" href=\"");
+		}
+		else {
+			portletURL.setParameter("resetCur", Boolean.TRUE.toString());
+			portletURL.setParameter("tag", tagName);
+
+			sb.append("<a href=\"");
+		}
+
+		sb.append(HtmlUtil.escape(portletURL.toString()));
+		sb.append("\">");
+		sb.append(tagName);
+
+		if (showAssetCount) {
+			sb.append("<span class=\"tag-asset-count\">");
+			sb.append(StringPool.SPACE);
+			sb.append(StringPool.OPEN_PARENTHESIS);
+			sb.append(count);
+			sb.append(StringPool.CLOSE_PARENTHESIS);
+			sb.append("</span>");
+		}
+
+		sb.append("</a></span></li>");
+	}
+
+	sb.append("</ul><br style=\"clear: both;\" />");
+
+	return sb.toString();
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_selector/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_selector/page.jsp
new file mode 100644
index 0000000..2380f62
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_selector/page.jsp
@@ -0,0 +1,80 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<portlet:defineObjects />
+
+<%
+boolean autoFocus = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:asset-tags-selector:autoFocus"));
+String className = (String)request.getAttribute("liferay-ui:asset-tags-selector:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:asset-tags-selector:classPK"));
+String hiddenInput = (String)request.getAttribute("liferay-ui:asset-tags-selector:hiddenInput");
+String curTags = GetterUtil.getString((String)request.getAttribute("liferay-ui:asset-tags-selector:curTags"));
+long[] groupIds = (long[])request.getAttribute("liferay-ui:asset-tags-selector:groupIds");
+String id = GetterUtil.getString((String)request.getAttribute("liferay-ui:asset-tags-selector:id"));
+String contentCallback = GetterUtil.getString((String)request.getAttribute("liferay-ui:asset-tags-selector:contentCallback"));
+
+if (Validator.isNotNull(className) && (classPK > 0)) {
+	List<AssetTag> tags = AssetTagServiceUtil.getTags(className, classPK);
+
+	curTags = ListUtil.toString(tags, AssetTag.NAME_ACCESSOR);
+}
+
+String curTagsParam = request.getParameter(hiddenInput);
+
+if (Validator.isNotNull(curTagsParam)) {
+	curTags = curTagsParam;
+}
+%>
+
+<div class="lfr-tags-selector-content" id="<%= namespace + id %>assetTagsSelector">
+	<aui:input name="<%= hiddenInput %>" type="hidden" />
+
+	<input class="lfr-tag-selector-input" id="<%= id %>assetTagNames" maxlength="75" size="15" title="<liferay-ui:message key="add-tags" />" type="text" />
+</div>
+
+<aui:script use="liferay-asset-tags-selector">
+	new Liferay.AssetTagsSelector(
+		{
+			allowSuggestions: <%= PropsValues.ASSET_TAG_SUGGESTIONS_ENABLED %>,
+			contentBox: '#<%= namespace + id %>assetTagsSelector',
+
+			<c:if test="<%= PropsValues.ASSET_TAG_SUGGESTIONS_ENABLED && Validator.isNotNull(contentCallback) %>">
+				contentCallback: function() {
+					if (window.<%= contentCallback %>) {
+						return <%= contentCallback %>();
+					}
+				},
+			</c:if>
+
+			curEntries: '<%= HtmlUtil.escapeJS(curTags) %>',
+
+			<c:if test="<%= groupIds != null %>">
+				groupIds: '<%= StringUtil.merge(groupIds) %>',
+			</c:if>
+
+			hiddenInput: '#<%= namespace + hiddenInput %>',
+			input: '#<%= id %>assetTagNames',
+			instanceVar: '<%= namespace + id %>',
+			portalModelResource: <%= Validator.isNotNull(className) && (ResourceActionsUtil.isPortalModelResource(className) || className.equals(Group.class.getName())) %>
+		}
+	).render();
+
+	<c:if test="<%= autoFocus %>">
+		Liferay.Util.focusFormField('#<%= id %>assetTagNames');
+	</c:if>
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_summary/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_summary/page.jsp
new file mode 100644
index 0000000..989a0fa
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/asset_tags_summary/page.jsp
@@ -0,0 +1,67 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String[] assetTagNames = StringUtil.split((String)request.getAttribute("liferay-ui:asset-tags-summary:assetTagNames"));
+String className = (String)request.getAttribute("liferay-ui:asset-tags-summary:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:asset-tags-summary:classPK"));
+String message = GetterUtil.getString((String)request.getAttribute("liferay-ui:asset-tags-summary:message"), StringPool.BLANK);
+PortletURL portletURL = (PortletURL)request.getAttribute("liferay-ui:asset-tags-summary:portletURL");
+
+if (assetTagNames.length == 0) {
+	List<AssetTag> tags = AssetTagServiceUtil.getTags(className, classPK);
+
+	assetTagNames = StringUtil.split(ListUtil.toString(tags, AssetTag.NAME_ACCESSOR));
+}
+%>
+
+<c:if test="<%= assetTagNames.length > 0 %>">
+	<span class="taglib-asset-tags-summary">
+		<%= Validator.isNotNull(message) ? (LanguageUtil.get(pageContext, message) + ": ") : "" %>
+
+		<c:choose>
+			<c:when test="<%= portletURL != null %>">
+
+				<%
+				for (int i = 0; i < assetTagNames.length; i++) {
+					portletURL.setParameter("tag", assetTagNames[i]);
+				%>
+
+					<a class="tag" href="<%= HtmlUtil.escape(portletURL.toString()) %>"><%= assetTagNames[i] %></a>
+
+				<%
+				}
+				%>
+
+			</c:when>
+			<c:otherwise>
+
+				<%
+				for (int i = 0; i < assetTagNames.length; i++) {
+				%>
+
+					<span class="tag"><%= assetTagNames[i] %></span>
+
+				<%
+				}
+				%>
+
+			</c:otherwise>
+		</c:choose>
+	</span>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/breadcrumb/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/breadcrumb/init.jsp
new file mode 100644
index 0000000..05c7c8c
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/breadcrumb/init.jsp
@@ -0,0 +1,21 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String breadcrumbString = GetterUtil.getString((String)request.getAttribute("liferay-ui:breadcrumb:breadcrumbString"));
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/breadcrumb/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/breadcrumb/page.jsp
new file mode 100644
index 0000000..995a331
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/breadcrumb/page.jsp
@@ -0,0 +1,23 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/breadcrumb/init.jsp" %>
+
+<c:if test="<%= Validator.isNotNull(breadcrumbString) %>">
+	<ul aria-label="<%= LanguageUtil.get(pageContext, "breadcrumb") %>" class="breadcrumb">
+		<%= breadcrumbString %>
+	</ul>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/calendar/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/calendar/page.jsp
new file mode 100644
index 0000000..a369f51
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/calendar/page.jsp
@@ -0,0 +1,223 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+int month = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:calendar:month"));
+int day = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:calendar:day"));
+int year = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:calendar:year"));
+String headerPattern = (String)request.getAttribute("liferay-ui:calendar:headerPattern");
+Format headerFormat = (Format)request.getAttribute("liferay-ui:calendar:headerFormat");
+Set data = (Set)request.getAttribute("liferay-ui:calendar:data");
+boolean showAllPotentialWeeks = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:calendar:showAllPotentialWeeks"));
+
+Calendar selCal = CalendarFactoryUtil.getCalendar(timeZone, locale);
+
+selCal.set(Calendar.MONTH, month);
+selCal.set(Calendar.DATE, (day == 0) ? 1 : day);
+selCal.set(Calendar.YEAR, year);
+
+int selMonth = selCal.get(Calendar.MONTH);
+int selDay = selCal.get(Calendar.DATE);
+int selYear = selCal.get(Calendar.YEAR);
+
+int maxDayOfMonth = selCal.getActualMaximum(Calendar.DATE);
+
+selCal.set(Calendar.DATE, 1);
+int dayOfWeek = selCal.get(Calendar.DAY_OF_WEEK);
+selCal.set(Calendar.DATE, selDay);
+
+if (day == 0) {
+	selDay = 0;
+}
+
+Calendar prevCal = (Calendar)selCal.clone();
+
+prevCal.add(Calendar.MONTH, -1);
+
+int maxDayOfPrevMonth = prevCal.getActualMaximum(Calendar.DATE);
+int weekNumber = 1;
+%>
+
+<div class="taglib-calendar">
+	<table class="table table-bordered table-hover table-striped calendar-panel">
+
+	<thead class="table-columns">
+	<c:if test="<%= Validator.isNotNull(headerPattern) || (headerFormat != null) %>">
+
+		<%
+		Format dateFormat = headerFormat;
+
+		if (Validator.isNotNull(headerPattern)) {
+			dateFormat = FastDateFormatFactoryUtil.getSimpleDateFormat(headerPattern, locale);
+		}
+		%>
+
+		<tr class="calendar-header">
+			<th class="table-header" colspan="7">
+				<%= dateFormat.format(Time.getDate(selCal.getTime(), timeZone)) %>
+			</th>
+		</tr>
+	</c:if>
+
+	<tr>
+
+		<%
+		for (int i = 0; i < 7; i++) {
+			int daysIndex = (selCal.getFirstDayOfWeek() + i - 1) % 7;
+		%>
+
+			<th class="table-header">
+				<%= LanguageUtil.get(pageContext, CalendarUtil.DAYS_ABBREVIATION[daysIndex]) %>
+			</th>
+
+		<%
+		}
+		%>
+
+	</tr>
+	</thead>
+
+	<tbody class="table-data">
+	<tr>
+
+		<%
+		if (selCal.getFirstDayOfWeek() == Calendar.MONDAY) {
+			if (dayOfWeek == 1) {
+				dayOfWeek += 6;
+			}
+			else {
+				dayOfWeek --;
+			}
+		}
+
+		maxDayOfPrevMonth = (maxDayOfPrevMonth - dayOfWeek) + 1;
+
+		for (int i = 1; i < dayOfWeek; i++) {
+			String className = "table-cell calendar-inactive calendar-previous-month";
+
+			if (i == 1) {
+				className += " first";
+			}
+			else if (i == 7) {
+				className += " last";
+			}
+		%>
+
+			<td class="<%= className %>"><%= maxDayOfPrevMonth + i %></td>
+
+		<%
+		}
+
+		for (int i = 1; i <= maxDayOfMonth; i++) {
+			if (dayOfWeek > 7) {
+		%>
+
+				</tr>
+				<tr>
+
+		<%
+				dayOfWeek = 1;
+				weekNumber++;
+			}
+
+			Calendar tempCal = (Calendar)selCal.clone();
+
+			tempCal.set(Calendar.MONTH, selMonth);
+			tempCal.set(Calendar.DATE, i);
+			tempCal.set(Calendar.YEAR, selYear);
+
+			boolean hasData = (data != null) && data.contains(new Integer(i));
+
+			String className = "";
+
+			if (i == selDay) {
+				className = "table-cell calendar-current-day portlet-section-selected";
+			}
+
+			if (hasData) {
+				className += " has-events";
+			}
+
+			if (dayOfWeek == 1) {
+				className += " first";
+			}
+			else if (dayOfWeek == 7) {
+				className += " last";
+			}
+
+			dayOfWeek++;
+		%>
+
+			<td class="<%= className %>">
+				<a href="javascript:<%= namespace %>updateCalendar(<%= selMonth %>, <%= i %>, <%= selYear %>);"><span><%= i %></span></a>
+			</td>
+
+		<%
+		}
+
+		int dayOfNextMonth = 1;
+
+		for (int i = 7; i >= dayOfWeek; i--) {
+			String className = "table-cell calendar-inactive calendar-next-month";
+
+			if (dayOfWeek == 1) {
+				className += " first";
+			}
+			else if (i == dayOfWeek) {
+				className += " last";
+			}
+		%>
+
+			<td class="<%= className %>"><%= dayOfNextMonth++ %></td>
+
+		<%
+		}
+
+		if (showAllPotentialWeeks && (weekNumber < 6)) {
+		%>
+
+			<tr>
+
+				<%
+				for (int i = 1; i <= 7; i++) {
+					String className = "table-cell calendar-inactive calendar-next-month";
+
+					if (i == 1) {
+						className += " first";
+					}
+					else if (i == 7) {
+						className += " last";
+					}
+				%>
+
+					<td class="<%= className %>"><%= dayOfNextMonth++ %></td>
+
+				<%
+				}
+				%>
+
+			</tr>
+
+		<%
+		}
+		%>
+
+	</tr>
+	</tbody>
+	</table>
+</div>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/init.jsp
new file mode 100644
index 0000000..5ad7f1f
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portal.kernel.captcha.CaptchaUtil" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/page.jsp
new file mode 100644
index 0000000..107bf5d
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/page.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/captcha/init.jsp" %>
+
+<liferay-util:include page="<%= CaptchaUtil.getTaglibPath() %>" />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/recaptcha.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/recaptcha.jsp
new file mode 100644
index 0000000..b36691c
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/recaptcha.jsp
@@ -0,0 +1,34 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/captcha/init.jsp" %>
+
+<noscript>
+	<iframe frameborder="0" height="300" src="<%= HttpUtil.protocolize(PropsValues.CAPTCHA_ENGINE_RECAPTCHA_URL_NOSCRIPT, request.isSecure()) %><%= PrefsPropsUtil.getString(PropsKeys.CAPTCHA_ENGINE_RECAPTCHA_KEY_PUBLIC, PropsValues.CAPTCHA_ENGINE_RECAPTCHA_KEY_PUBLIC) %>" width="500"></iframe><br />
+
+	<textarea cols="40" name="recaptcha_challenge_field" rows="3"></textarea>
+
+	<input name="recaptcha_response_field" type="hidden" value="manual_challenge" />
+</noscript>
+
+<aui:script position="inline">
+	var RecaptchaOptions = {
+		lang : '<%= locale.getLanguage() %>',
+		theme : 'white'
+	};
+</aui:script>
+
+<script src="<%= HttpUtil.protocolize(PropsValues.CAPTCHA_ENGINE_RECAPTCHA_URL_SCRIPT, request.isSecure()) %><%= PrefsPropsUtil.getString(PropsKeys.CAPTCHA_ENGINE_RECAPTCHA_KEY_PUBLIC, PropsValues.CAPTCHA_ENGINE_RECAPTCHA_KEY_PUBLIC) %>" type="text/javascript"></script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/simplecaptcha.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/simplecaptcha.jsp
new file mode 100644
index 0000000..f455cb4
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/captcha/simplecaptcha.jsp
@@ -0,0 +1,58 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/captcha/init.jsp" %>
+
+<%
+String url = (String)request.getAttribute("liferay-ui:captcha:url");
+
+boolean captchaEnabled = false;
+
+try {
+	if (portletRequest != null) {
+		captchaEnabled = CaptchaUtil.isEnabled(portletRequest);
+	}
+	else {
+		captchaEnabled = CaptchaUtil.isEnabled(request);
+	}
+}
+catch (CaptchaMaxChallengesException cmce) {
+	captchaEnabled = true;
+}
+%>
+
+<c:if test="<%= captchaEnabled %>">
+	<div class="taglib-captcha">
+		<img alt="<liferay-ui:message key="text-to-identify" />" class="captcha" id="<portlet:namespace />captcha" src="<%= url %>" />
+
+		<liferay-ui:icon cssClass="refresh" id="refreshCaptcha" image="../portlet/refresh" label="<%= false %>" localizeMessage="<%= true %>" message="refresh-captcha" url="javascript:;" />
+
+		<aui:input label="text-verification" name="captchaText" size="10" type="text" value="">
+			<aui:validator name="required" />
+		</aui:input>
+	</div>
+
+	<aui:script use="aui-base">
+		A.one('#<portlet:namespace />refreshCaptcha').on(
+			'click',
+			function() {
+				var url = Liferay.Util.addParams('t=' + A.Lang.now(), '<%= url %>');
+
+				A.one('#<portlet:namespace />captcha').attr('src', url);
+			}
+		);
+	</aui:script>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/categorization_filter/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/categorization_filter/page.jsp
new file mode 100644
index 0000000..2959a50
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/categorization_filter/page.jsp
@@ -0,0 +1,122 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<portlet:defineObjects />
+
+<%
+String assetType = GetterUtil.getString((String)request.getAttribute("liferay-ui:categorization-filter:assetType"), "content");
+PortletURL portletURL = (PortletURL)request.getAttribute("liferay-ui:categorization-filter:portletURL");
+
+if (Validator.isNull(portletURL)) {
+	portletURL = renderResponse.createRenderURL();
+}
+
+long assetCategoryId = ParamUtil.getLong(request, "categoryId");
+String assetTagName = ParamUtil.getString(request, "tag");
+
+String assetCategoryTitle = null;
+String assetVocabularyTitle = null;
+
+if (assetCategoryId != 0) {
+	AssetCategory assetCategory = AssetCategoryLocalServiceUtil.getAssetCategory(assetCategoryId);
+
+	assetCategory = assetCategory.toEscapedModel();
+
+	assetCategoryTitle = assetCategory.getTitle(locale);
+
+	AssetVocabulary assetVocabulary = AssetVocabularyLocalServiceUtil.getAssetVocabulary(assetCategory.getVocabularyId());
+
+	assetVocabulary = assetVocabulary.toEscapedModel();
+
+	assetVocabularyTitle = assetVocabulary.getTitle(locale);
+}
+%>
+
+<liferay-util:buffer var="removeCategory">
+	<c:if test="<%= assetCategoryId != 0 %>">
+		<span class="asset-entry">
+			<%= assetCategoryTitle %>
+
+			<portlet:renderURL var="viewURLWithoutCategory">
+				<portlet:param name="categoryId" value="0" />
+			</portlet:renderURL>
+
+			<a href="<%= viewURLWithoutCategory %>" title="<liferay-ui:message key="remove" />">
+				<span class="icon icon-close textboxlistentry-close"></span>
+			</a>
+		</span>
+	</c:if>
+</liferay-util:buffer>
+
+<liferay-util:buffer var="removeTag">
+	<c:if test="<%= Validator.isNotNull(assetTagName) %>">
+		<span class="asset-entry">
+			<%= HtmlUtil.escape(assetTagName) %>
+
+			<liferay-portlet:renderURL allowEmptyParam="<%= true %>" var="viewURLWithoutTag">
+				<liferay-portlet:param name="tag" value="" />
+			</liferay-portlet:renderURL>
+
+			<a href="<%= viewURLWithoutTag %>" title="<liferay-ui:message key="remove" />">
+				<span class="icon icon-close textboxlistentry-close"></span>
+			</a>
+		</span>
+	</c:if>
+</liferay-util:buffer>
+
+<c:choose>
+	<c:when test="<%= (assetCategoryId != 0) && Validator.isNotNull(assetTagName) %>">
+
+		<%
+		AssetUtil.addPortletBreadcrumbEntries(assetCategoryId, request, portletURL);
+
+		PortalUtil.addPortletBreadcrumbEntry(request, assetTagName, currentURL);
+
+		PortalUtil.addPageKeywords(assetCategoryTitle, request);
+		PortalUtil.addPageKeywords(assetTagName, request);
+		%>
+
+		<h2 class="taglib-categorization-filter entry-title">
+			<liferay-ui:message arguments="<%= new String[] {assetVocabularyTitle, removeCategory, removeTag} %>" key='<%= assetType.concat("-with-x-x-and-tag-x") %>' />
+		</h2>
+	</c:when>
+	<c:when test="<%= assetCategoryId != 0 %>">
+
+		<%
+		AssetUtil.addPortletBreadcrumbEntries(assetCategoryId, request, portletURL);
+
+		PortalUtil.addPageKeywords(assetCategoryTitle, request);
+		%>
+
+		<h2 class="taglib-categorization-filter entry-title">
+			<liferay-ui:message arguments="<%= new String[] {assetVocabularyTitle, removeCategory} %>" key='<%= assetType.concat("-with-x-x") %>' />
+		</h2>
+	</c:when>
+	<c:when test="<%= Validator.isNotNull(assetTagName) %>">
+
+		<%
+		PortalUtil.addPortletBreadcrumbEntry(request, assetTagName, currentURL);
+
+		PortalUtil.addPageKeywords(assetTagName, request);
+		%>
+
+		<h2 class="taglib-categorization-filter entry-title">
+			<liferay-ui:message arguments="<%= removeTag %>" key='<%= assetType.concat("-with-tag-x") %>' />
+		</h2>
+	</c:when>
+</c:choose>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute/init.jsp
new file mode 100644
index 0000000..54cbf4c
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute/init.jsp
@@ -0,0 +1,22 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.expando.model.ExpandoColumnConstants" %><%@
+page import="com.liferay.portlet.expando.model.ExpandoTableConstants" %><%@
+page import="com.liferay.portlet.expando.service.permission.ExpandoColumnPermissionUtil" %><%@
+page import="com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute/page.jsp
new file mode 100644
index 0000000..dd1a272
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute/page.jsp
@@ -0,0 +1,750 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/custom_attribute/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_custom_attribute_page") + StringPool.UNDERLINE;
+
+String className = (String)request.getAttribute("liferay-ui:custom-attribute:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:custom-attribute:classPK"));
+boolean editable = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:custom-attribute:editable"));
+boolean label = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:custom-attribute:label"));
+String name = (String)request.getAttribute("liferay-ui:custom-attribute:name");
+
+ExpandoBridge expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(company.getCompanyId(), className, classPK);
+%>
+
+<c:if test="<%= expandoBridge.hasAttribute(name) %>">
+
+	<%
+	int type = expandoBridge.getAttributeType(name);
+	Serializable value = expandoBridge.getAttribute(name);
+	Serializable defaultValue = expandoBridge.getAttributeDefault(name);
+
+	UnicodeProperties properties = expandoBridge.getAttributeProperties(name);
+
+	boolean propertyHidden = GetterUtil.getBoolean(properties.get(ExpandoColumnConstants.PROPERTY_HIDDEN));
+	boolean propertyVisibleWithUpdatePermission = GetterUtil.getBoolean(properties.get(ExpandoColumnConstants.PROPERTY_VISIBLE_WITH_UPDATE_PERMISSION));
+	boolean propertySecret = GetterUtil.getBoolean(properties.getProperty(ExpandoColumnConstants.PROPERTY_SECRET));
+	int propertyHeight = GetterUtil.getInteger(properties.getProperty(ExpandoColumnConstants.PROPERTY_HEIGHT));
+	int propertyWidth = GetterUtil.getInteger(properties.getProperty(ExpandoColumnConstants.PROPERTY_WIDTH));
+	String propertyDisplayType = GetterUtil.getString(properties.getProperty(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE), ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX);
+
+	if (editable && propertyVisibleWithUpdatePermission) {
+		propertyHidden = !ExpandoColumnPermissionUtil.contains(
+			permissionChecker, company.getCompanyId(), className,
+			ExpandoTableConstants.DEFAULT_TABLE_NAME, name, ActionKeys.UPDATE);
+	}
+
+	String localizedName = LanguageUtil.get(pageContext, name);
+
+	if (name.equals(localizedName)) {
+		localizedName = HtmlUtil.escape(TextFormatter.format(name, TextFormatter.J));
+	}
+
+	Format dateFormatDateTime = FastDateFormatFactoryUtil.getDateTime(locale, timeZone);
+	%>
+
+	<c:if test="<%= !propertyHidden && ExpandoColumnPermissionUtil.contains(permissionChecker, company.getCompanyId(), className, ExpandoTableConstants.DEFAULT_TABLE_NAME, name, ActionKeys.VIEW) %>">
+
+		<%
+		String escapedName = HtmlUtil.escape(name);
+		%>
+
+		<c:choose>
+			<c:when test="<%= editable && ExpandoColumnPermissionUtil.contains(permissionChecker, company.getCompanyId(), className, ExpandoTableConstants.DEFAULT_TABLE_NAME, name, ActionKeys.UPDATE) %>">
+				<aui:field-wrapper label="<%= label ? localizedName : StringPool.BLANK %>">
+					<input name="<portlet:namespace />ExpandoAttributeName--<%= escapedName %>--" type="hidden" value="<%= escapedName %>" />
+
+					<c:choose>
+						<c:when test="<%= type == ExpandoColumnConstants.BOOLEAN %>">
+
+							<%
+							Boolean curValue = (Boolean)value;
+
+							if (curValue == null) {
+								curValue = (Boolean)defaultValue;
+							}
+
+							curValue = ParamUtil.getBoolean(request, "ExpandoAttribute--" + escapedName + "--", curValue);
+							%>
+
+							<select id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--">
+								<option <%= curValue ? "selected" : "" %> value="1"><liferay-ui:message key="true" /></option>
+								<option <%= !curValue ? "selected" : "" %> value="0"><liferay-ui:message key="false" /></option>
+							</select>
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.BOOLEAN_ARRAY %>">
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.DATE %>">
+							<span id="<%= randomNamespace %><%= escapedName %>">
+
+								<%
+								Calendar valueDate = CalendarFactoryUtil.getCalendar(timeZone, locale);
+
+								if (value != null) {
+									valueDate.setTime((Date)value);
+								}
+								else if (defaultValue != null) {
+									valueDate.setTime((Date)defaultValue);
+								}
+								else {
+									valueDate.setTime(new Date());
+								}
+
+								String fieldParam = "ExpandoAttribute--" + name + "--";
+
+								int day = ParamUtil.getInteger(request, fieldParam + "Day", -1);
+
+								if ((day == -1) && (valueDate != null)) {
+									day = valueDate.get(Calendar.DATE);
+								}
+
+								int month = ParamUtil.getInteger(request, fieldParam + "Month", -1);
+
+								if ((month == -1) && (valueDate != null)) {
+									month = valueDate.get(Calendar.MONTH);
+								}
+
+								int year = ParamUtil.getInteger(request, fieldParam + "Year", -1);
+
+								if ((year == -1) && (valueDate != null)) {
+									year = valueDate.get(Calendar.YEAR);
+								}
+
+								int amPm = ParamUtil.getInteger(request, fieldParam + "AmPm", -1);
+
+								if ((amPm == -1) && (valueDate != null)) {
+									amPm = Calendar.AM;
+
+									if (DateUtil.isFormatAmPm(locale)) {
+										amPm = valueDate.get(Calendar.AM_PM);
+									}
+								}
+
+								int hour = ParamUtil.getInteger(request, fieldParam + "Hour", -1);
+
+								if ((hour == -1) && (valueDate != null)) {
+									hour = valueDate.get(Calendar.HOUR_OF_DAY);
+
+									if (DateUtil.isFormatAmPm(locale)) {
+										hour = valueDate.get(Calendar.HOUR);
+									}
+								}
+
+								int minute = ParamUtil.getInteger(request, fieldParam + "Minute", -1);
+
+								if ((minute == -1) && (valueDate != null)) {
+									minute = valueDate.get(Calendar.MINUTE);
+								}
+								%>
+
+								<liferay-ui:input-date
+									dayParam='<%= fieldParam + "Day" %>'
+									dayValue="<%= day %>"
+									disabled="<%= false %>"
+									firstDayOfWeek="<%= valueDate.getFirstDayOfWeek() - 1 %>"
+									monthParam='<%= fieldParam + "Month" %>'
+									monthValue="<%= month %>"
+									yearParam='<%= fieldParam + "Year" %>'
+									yearValue="<%= year %>"
+								/>
+
+								<liferay-ui:input-time
+									amPmParam='<%= fieldParam + "AmPm" %>'
+									amPmValue="<%= amPm %>"
+									disabled="<%= false %>"
+									hourParam='<%= fieldParam + "Hour" %>'
+									hourValue="<%= hour %>"
+									minuteParam='<%= fieldParam + "Minute" %>'
+									minuteValue="<%= minute %>"
+								/>
+							</span>
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.DATE_ARRAY %>">
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.DOUBLE_ARRAY %>">
+							<c:choose>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_CHECKBOX) %>">
+
+									<%
+									double[] curValue = (double[])value;
+
+									for (double curDefaultValue : (double[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="checkbox" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_RADIO) %>">
+
+									<%
+									double[] curValue = (double[])value;
+
+									for (double curDefaultValue : (double[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="radio" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_SELECTION_LIST) %>">
+									<select name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--">
+
+										<%
+										double[] curValue = (double[])value;
+
+										for (double curDefaultValue : (double[])defaultValue) {
+										%>
+
+											<option <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "selected" : "" %>><%= curDefaultValue %></option>
+
+										<%
+										}
+										%>
+
+									</select>
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX) %>">
+
+									<%
+									if (((double[])value).length == 0) {
+										value = defaultValue;
+									}
+
+									double[] values = ParamUtil.getDoubleValues(request, "ExpandoAttribute--" + escapedName + "--", (double[])value);
+									%>
+
+									<textarea class="lfr-textarea" id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--"><%= StringUtil.merge(values, StringPool.NEW_LINE) %></textarea>
+								</c:when>
+							</c:choose>
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.FLOAT_ARRAY %>">
+							<c:choose>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_CHECKBOX) %>">
+
+									<%
+									float[] curValue = (float[])value;
+
+									for (float curDefaultValue : (float[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="checkbox" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br>
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_RADIO) %>">
+
+									<%
+									float[] curValue = (float[])value;
+
+									for (float curDefaultValue : (float[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="radio" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br>
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_SELECTION_LIST) %>">
+									<select name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--">
+
+										<%
+										float[] curValue = (float[])value;
+
+										for (float curDefaultValue : (float[])defaultValue) {
+										%>
+
+											<option <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "selected" : "" %>><%= curDefaultValue %></option>
+
+										<%
+										}
+										%>
+
+									</select>
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX) %>">
+
+									<%
+									if (((float[])value).length == 0) {
+										value = defaultValue;
+									}
+
+									float[] values = ParamUtil.getFloatValues(request, "ExpandoAttribute--" + escapedName + "--", (float[])value);
+									%>
+
+									<textarea class="lfr-textarea" id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--"><%= StringUtil.merge((float[])value, StringPool.NEW_LINE) %></textarea>
+								</c:when>
+							</c:choose>
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.INTEGER_ARRAY %>">
+							<c:choose>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_CHECKBOX) %>">
+
+									<%
+									int[] curValue = (int[])value;
+
+									for (int curDefaultValue : (int[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue,curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="checkbox" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_RADIO) %>">
+
+									<%
+									int[] curValue = (int[])value;
+
+									for (int curDefaultValue : (int[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue,curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="radio" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_SELECTION_LIST) %>">
+									<select name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--">
+
+										<%
+										int[] curValue = (int[])value;
+
+										for (int curDefaultValue : (int[])defaultValue) {
+										%>
+
+											<option <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "selected" : "" %>><%= curDefaultValue %></option>
+
+										<%
+										}
+										%>
+
+									</select>
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX) %>">
+
+									<%
+									if (((int[])value).length == 0) {
+										value = defaultValue;
+									}
+
+									int[] values = ParamUtil.getIntegerValues(request, "ExpandoAttribute--" + escapedName + "--", (int[])value);
+									%>
+
+									<textarea class="lfr-textarea" id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--"><%= StringUtil.merge(values, StringPool.NEW_LINE) %></textarea>
+								</c:when>
+							</c:choose>
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.LONG_ARRAY %>">
+							<c:choose>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_CHECKBOX) %>">
+
+									<%
+									long[] curValue = (long[])value;
+
+									for (long curDefaultValue : (long[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="checkbox" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_RADIO) %>">
+
+									<%
+									long[] curValue = (long[])value;
+
+									for (long curDefaultValue : (long[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="radio" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_SELECTION_LIST) %>">
+									<select name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--">
+
+										<%
+										long[] curValue = (long[])value;
+
+										for (long curDefaultValue : (long[])defaultValue) {
+										%>
+
+											<option <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "selected" : "" %>><%= curDefaultValue %></option>
+
+										<%
+										}
+										%>
+
+									</select>
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX) %>">
+
+									<%
+									if (((long[])value).length == 0) {
+										value = defaultValue;
+									}
+
+									long[] values = ParamUtil.getLongValues(request, "ExpandoAttribute--" + escapedName + "--", (long[])value);
+									%>
+
+									<textarea class="lfr-textarea" id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--"><%= StringUtil.merge(values, StringPool.NEW_LINE) %></textarea>
+								</c:when>
+							</c:choose>
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.NUMBER_ARRAY %>">
+							<c:choose>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_CHECKBOX) %>">
+
+									<%
+									Number[] curValue = (Number[])value;
+
+									for (Number curDefaultValue : (Number[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="checkbox" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_RADIO) %>">
+
+									<%
+									Number[] curValue = (Number[])value;
+
+									for (Number curDefaultValue : (Number[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="radio" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_SELECTION_LIST) %>">
+									<select name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--">
+
+										<%
+										Number[] curValue = (Number[])value;
+
+										for (Number curDefaultValue : (Number[])defaultValue) {
+										%>
+
+											<option <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "selected" : "" %>><%= curDefaultValue %></option>
+
+										<%
+										}
+										%>
+
+									</select>
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX) %>">
+
+									<%
+									if (((Number[])value).length == 0) {
+										value = defaultValue;
+									}
+
+									Number[] values = ParamUtil.getNumberValues(request, "ExpandoAttribute--" + escapedName + "--", (Number[])value);
+									%>
+
+									<textarea class="lfr-textarea" id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--"><%= StringUtil.merge(values, StringPool.NEW_LINE) %></textarea>
+								</c:when>
+							</c:choose>
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.SHORT_ARRAY %>">
+							<c:choose>
+
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_CHECKBOX) %>">
+
+									<%
+									short[] curValue = (short[])value;
+
+									for (short curDefaultValue : (short[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="checkbox" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_RADIO) %>">
+
+									<%
+									short[] curValue = (short[])value;
+
+									for (short curDefaultValue : (short[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="radio" value="<%= curDefaultValue %>"><%= curDefaultValue %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_SELECTION_LIST) %>">
+									<select name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--">
+
+										<%
+										short[] curValue = (short[])value;
+
+										for (short curDefaultValue : (short[])defaultValue) {
+										%>
+
+											<option <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "selected" : "" %>><%= curDefaultValue %></option>
+
+										<%
+										}
+										%>
+
+									</select>
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX) %>">
+
+									<%
+									if (((short[])value).length == 0) {
+										value = defaultValue;
+									}
+
+									short[] values = ParamUtil.getShortValues(request, "ExpandoAttribute--" + escapedName + "--", (short[])value);
+									%>
+
+									<textarea class="lfr-textarea" id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--"><%= StringUtil.merge(values, StringPool.NEW_LINE) %></textarea>
+								</c:when>
+							</c:choose>
+						</c:when>
+						<c:when test="<%= type == ExpandoColumnConstants.STRING_ARRAY %>">
+							<c:choose>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_CHECKBOX) %>">
+
+									<%
+									String[] curValue = (String[])value;
+
+									for (String curDefaultValue : (String[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="checkbox" value="<%= HtmlUtil.escapeAttribute(curDefaultValue) %>"><%= HtmlUtil.escape(curDefaultValue) %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_RADIO) %>">
+
+									<%
+									String[] curValue = (String[])value;
+
+									for (String curDefaultValue : (String[])defaultValue) {
+									%>
+
+										<input <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "checked" : "" %> name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--" type="radio" value="<%= HtmlUtil.escapeAttribute(curDefaultValue) %>"><%= HtmlUtil.escape(curDefaultValue) %></input><br />
+
+									<%
+									}
+									%>
+
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_SELECTION_LIST) %>">
+									<select name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--">
+
+										<%
+										String[] curValue = (String[])value;
+
+										for (String curDefaultValue : (String[])defaultValue) {
+										%>
+
+											<option <%= ((curValue.length > 0) && ArrayUtil.contains(curValue, curDefaultValue)) ? "selected" : "" %> value="<%= HtmlUtil.escape(curDefaultValue) %>"><%= HtmlUtil.escape(curDefaultValue) %></option>
+
+										<%
+										}
+										%>
+
+									</select>
+								</c:when>
+								<c:when test="<%= propertyDisplayType.equals(ExpandoColumnConstants.PROPERTY_DISPLAY_TYPE_TEXT_BOX) %>">
+
+									<%
+									String paramValue = ParamUtil.getString(request, "ExpandoAttribute--" + name + "--");
+
+									if (value == null) {
+										value = defaultValue;
+									}
+
+									String[] values = (String[])value;
+
+									if (Validator.isNotNull(paramValue)) {
+										values = new String[] {paramValue};
+									}
+									%>
+
+									<textarea class="lfr-textarea" id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--"><%= HtmlUtil.escape(StringUtil.merge(values, StringPool.NEW_LINE)) %></textarea>
+								</c:when>
+							</c:choose>
+						</c:when>
+						<c:otherwise>
+
+							<%
+							String paramValue = ParamUtil.getString(request, "ExpandoAttribute--" + name + "--");
+
+							if (Validator.isNotNull(paramValue)) {
+								value = paramValue;
+							}
+
+							if (Validator.isNull(String.valueOf(value))) {
+								value = defaultValue;
+							}
+							%>
+
+							<c:choose>
+								<c:when test="<%= propertyHeight > 0 %>">
+									<textarea class="lfr-input-text" id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--"
+										style="
+											<c:if test="<%= propertyHeight > 0 %>">
+												height: <%= propertyHeight %>px;
+											</c:if>
+
+											<c:if test="<%= propertyWidth > 0 %>">
+												width: <%= propertyWidth %>px;
+											</c:if>"
+									><%= HtmlUtil.escape(String.valueOf(value)) %></textarea>
+								</c:when>
+								<c:otherwise>
+									<input class="lfr-input-text" id="<%= randomNamespace %><%= escapedName %>" name="<portlet:namespace />ExpandoAttribute--<%= escapedName %>--"
+										style="
+											<c:if test="<%= propertyWidth > 0 %>">
+												width: <%= propertyWidth %>px;
+											</c:if>"
+										type="<%= propertySecret ? "password" : "text" %>" value="<%= HtmlUtil.escape(String.valueOf(value)) %>"
+									/>
+								</c:otherwise>
+							</c:choose>
+						</c:otherwise>
+					</c:choose>
+				</aui:field-wrapper>
+			</c:when>
+			<c:otherwise>
+
+				<%
+				StringBundler sb = new StringBundler();
+
+				if (type == ExpandoColumnConstants.BOOLEAN) {
+					sb.append((Boolean)value);
+				}
+				else if (type == ExpandoColumnConstants.BOOLEAN_ARRAY) {
+					if (!Arrays.equals((boolean[])value, (boolean[])defaultValue)) {
+						sb.append(StringUtil.merge((boolean[])value));
+					}
+				}
+				else if (type == ExpandoColumnConstants.DATE) {
+					sb.append(dateFormatDateTime.format((Date)value));
+				}
+				else if (type == ExpandoColumnConstants.DATE_ARRAY) {
+					if (!Arrays.deepEquals((Date[])value, (Date[])defaultValue)) {
+						Date[] dates = (Date[])value;
+
+						for (int i = 0; i < dates.length; i++) {
+							if (i != 0) {
+								sb.append(StringPool.COMMA_AND_SPACE);
+							}
+
+							sb.append(dateFormatDateTime.format(dates[i]));
+						}
+					}
+				}
+				else if (type == ExpandoColumnConstants.DOUBLE) {
+					sb.append((Double)value);
+				}
+				else if (type == ExpandoColumnConstants.DOUBLE_ARRAY) {
+					sb.append(StringUtil.merge((double[])value));
+				}
+				else if (type == ExpandoColumnConstants.FLOAT) {
+					sb.append((Float)value);
+				}
+				else if (type == ExpandoColumnConstants.FLOAT_ARRAY) {
+					sb.append(StringUtil.merge((float[])value));
+				}
+				else if (type == ExpandoColumnConstants.INTEGER) {
+					sb.append((Integer)value);
+				}
+				else if (type == ExpandoColumnConstants.INTEGER_ARRAY) {
+					sb.append(StringUtil.merge((int[])value));
+				}
+				else if (type == ExpandoColumnConstants.LONG) {
+					sb.append((Long)value);
+				}
+				else if (type == ExpandoColumnConstants.LONG_ARRAY) {
+					sb.append(StringUtil.merge((long[])value));
+				}
+				else if (type == ExpandoColumnConstants.NUMBER) {
+					sb.append((Number)value);
+				}
+				else if (type == ExpandoColumnConstants.NUMBER_ARRAY) {
+					sb.append(StringUtil.merge((Number[])value));
+				}
+				else if (type == ExpandoColumnConstants.SHORT) {
+					sb.append((Short)value);
+				}
+				else if (type == ExpandoColumnConstants.SHORT_ARRAY) {
+					sb.append(StringUtil.merge((short[])value));
+				}
+				else if (type == ExpandoColumnConstants.STRING_ARRAY) {
+					sb.append(StringUtil.merge((String[])value));
+				}
+				else {
+					sb.append((String)value);
+				}
+				%>
+
+				<c:if test="<%= editable || Validator.isNotNull(sb.toString()) %>">
+					<aui:field-wrapper label="<%= label ? localizedName : StringPool.BLANK %>">
+						<span id="<%= randomNamespace %><%= escapedName %>"><%= HtmlUtil.escape(sb.toString()) %></span>
+					</aui:field-wrapper>
+				</c:if>
+			</c:otherwise>
+		</c:choose>
+	</c:if>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute_list/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute_list/init.jsp
new file mode 100644
index 0000000..5b39447
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute_list/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.expando.util.ExpandoBridgeFactoryUtil" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute_list/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute_list/page.jsp
new file mode 100644
index 0000000..bdbf775
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/custom_attribute_list/page.jsp
@@ -0,0 +1,58 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/custom_attribute_list/init.jsp" %>
+
+<%
+String className = (String)request.getAttribute("liferay-ui:custom-attribute-list:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:custom-attribute-list:classPK"));
+boolean editable = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:custom-attribute-list:editable"));
+String ignoreAttributeNames = GetterUtil.getString((String)request.getAttribute("liferay-ui:custom-attribute-list:ignoreAttributeNames"));
+boolean label = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:custom-attribute-list:label"));
+
+ExpandoBridge expandoBridge = ExpandoBridgeFactoryUtil.getExpandoBridge(company.getCompanyId(), className, classPK);
+
+String modelResourceName = ResourceActionsUtil.getModelResource(pageContext, className);
+
+List<String> attributeNames = ListUtil.remove(Collections.list(expandoBridge.getAttributeNames()), ListUtil.fromString(ignoreAttributeNames, StringPool.COMMA));
+%>
+
+<div class="taglib-custom-attributes-list">
+
+	<%
+	for (String attributeName : attributeNames) {
+	%>
+
+		<liferay-ui:custom-attribute
+			className="<%= className %>"
+			classPK="<%= classPK %>"
+			editable="<%= editable %>"
+			label="<%= label %>"
+			name="<%= attributeName %>"
+		/>
+
+	<%
+	}
+	%>
+
+	<c:if test="<%= attributeNames.isEmpty() %>">
+		<span class="field">
+			<span class="field-content">
+				<label><%= LanguageUtil.format(pageContext, "no-custom-fields-are-defined-for-x", modelResourceName) %></label>
+			</span>
+		</span>
+	</c:if>
+</div>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ddm_template_selector/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ddm_template_selector/init.jsp
new file mode 100644
index 0000000..5ee8447
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ddm_template_selector/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.portletdisplaytemplate.util.PortletDisplayTemplate" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ddm_template_selector/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ddm_template_selector/page.jsp
new file mode 100644
index 0000000..478e983
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ddm_template_selector/page.jsp
@@ -0,0 +1,183 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/ddm_template_selector/init.jsp" %>
+
+<%
+long classNameId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:ddm-template-select:classNameId"));
+String displayStyle = (String)request.getAttribute("liferay-ui:ddm-template-select:displayStyle");
+long displayStyleGroupId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:ddm-template-select:displayStyleGroupId"));
+List<String> displayStyles = (List<String>)request.getAttribute("liferay-ui:ddm-template-select:displayStyles");
+String icon = GetterUtil.getString((String)request.getAttribute("liferay-ui:ddm-template-select:icon"), "configuration");
+String label = (String)request.getAttribute("liferay-ui:ddm-template-select:label");
+String refreshURL = (String)request.getAttribute("liferay-ui:ddm-template-select:refreshURL");
+boolean showEmptyOption = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:ddm-template-select:showEmptyOption"));
+
+long ddmTemplateGroupId = PortletDisplayTemplateUtil.getDDMTemplateGroupId(themeDisplay.getScopeGroupId());
+
+Group ddmTemplateGroup = GroupLocalServiceUtil.getGroup(ddmTemplateGroupId);
+
+DDMTemplate ddmTemplate = null;
+%>
+
+<aui:input id="displayStyleGroupId" name="preferences--displayStyleGroupId--" type="hidden" value="<%= String.valueOf(displayStyleGroupId) %>" />
+
+<aui:select id="displayStyle" inlineField="<%= true %>" label="<%= label %>" name="preferences--displayStyle--">
+	<c:if test="<%= showEmptyOption %>">
+		<aui:option label="default" selected="<%= Validator.isNull(displayStyle) %>" />
+	</c:if>
+
+	<c:if test="<%= (displayStyles != null) && !displayStyles.isEmpty() %>">
+		<optgroup label="<liferay-ui:message key="default" />">
+
+			<%
+			for (String curDisplayStyle : displayStyles) {
+			%>
+
+				<aui:option label="<%= HtmlUtil.escape(curDisplayStyle) %>" selected="<%= displayStyle.equals(curDisplayStyle) %>" />
+
+			<%
+			}
+			%>
+
+		</optgroup>
+	</c:if>
+
+	<%
+	Map<String,Object> data = new HashMap<String,Object>();
+
+	if (displayStyle.startsWith(PortletDisplayTemplate.DISPLAY_STYLE_PREFIX)) {
+		ddmTemplate = PortletDisplayTemplateUtil.fetchDDMTemplate(displayStyleGroupId, displayStyle);
+	}
+
+	List<DDMTemplate> companyPortletDDMTemplates = DDMTemplateLocalServiceUtil.getTemplates(themeDisplay.getCompanyGroupId(), classNameId, 0);
+	%>
+
+	<c:if test="<%= (companyPortletDDMTemplates != null) && !companyPortletDDMTemplates.isEmpty() %>">
+		<optgroup label="<liferay-ui:message key="global" />">
+
+			<%
+			data.put("displaystylegroupid", themeDisplay.getCompanyGroupId());
+
+			for (DDMTemplate companyPortletDDMTemplate : companyPortletDDMTemplates) {
+				if (!DDMTemplatePermission.contains(permissionChecker, companyPortletDDMTemplate, PortletKeys.PORTLET_DISPLAY_TEMPLATES, ActionKeys.VIEW)) {
+					continue;
+				}
+			%>
+
+				<aui:option data="<%= data %>" label="<%= HtmlUtil.escape(companyPortletDDMTemplate.getName(locale)) %>" selected="<%= (ddmTemplate != null) && (companyPortletDDMTemplate.getTemplateId() == ddmTemplate.getTemplateId()) %>" value="<%= PortletDisplayTemplate.DISPLAY_STYLE_PREFIX + companyPortletDDMTemplate.getUuid() %>" />
+
+			<%
+			}
+			%>
+
+		</optgroup>
+	</c:if>
+
+	<%
+	List<DDMTemplate> groupPortletDDMTemplates = null;
+
+	if (ddmTemplateGroupId != themeDisplay.getCompanyGroupId()) {
+		groupPortletDDMTemplates = DDMTemplateLocalServiceUtil.getTemplates(ddmTemplateGroupId, classNameId, 0);
+
+		data.put("displaystylegroupid", ddmTemplateGroupId);
+	}
+	%>
+
+	<c:if test="<%= (groupPortletDDMTemplates != null) && !groupPortletDDMTemplates.isEmpty() %>">
+		<optgroup label="<%= HtmlUtil.escape(ddmTemplateGroup.getDescriptiveName(locale)) %>">
+
+		<%
+		for (DDMTemplate groupPortletDDMTemplate : groupPortletDDMTemplates) {
+			if (!DDMTemplatePermission.contains(permissionChecker, groupPortletDDMTemplate, PortletKeys.PORTLET_DISPLAY_TEMPLATES, ActionKeys.VIEW)) {
+				continue;
+			}
+		%>
+
+			<aui:option data="<%= data %>" label="<%= HtmlUtil.escape(groupPortletDDMTemplate.getName(locale)) %>" selected="<%= (ddmTemplate != null) && (groupPortletDDMTemplate.getTemplateId() == ddmTemplate.getTemplateId()) %>" value="<%= PortletDisplayTemplate.DISPLAY_STYLE_PREFIX + groupPortletDDMTemplate.getUuid() %>" />
+
+		<%
+		}
+		%>
+
+		</optgroup>
+	</c:if>
+</aui:select>
+
+<liferay-ui:icon
+	id="selectDDMTemplate"
+	image="<%= icon %>"
+	label="<%= true %>"
+	message='<%= LanguageUtil.format(pageContext, "manage-display-templates-for-x", HtmlUtil.escape(ddmTemplateGroup.getDescriptiveName(locale)), false) %>'
+	url="javascript:;"
+/>
+
+<liferay-portlet:renderURL plid="<%= themeDisplay.getPlid() %>" portletName="<%= PortletKeys.DYNAMIC_DATA_MAPPING %>" var="basePortletURL">
+	<portlet:param name="showHeader" value="<%= Boolean.FALSE.toString() %>" />
+</liferay-portlet:renderURL>
+
+<aui:script use="aui-base">
+	var selectDDMTemplate = A.one('#<portlet:namespace />selectDDMTemplate');
+
+	if (selectDDMTemplate) {
+		var windowId = A.guid();
+
+		selectDDMTemplate.on(
+			'click',
+			function(event) {
+				Liferay.Util.openDDMPortlet(
+					{
+						basePortletURL: '<%= basePortletURL %>',
+						classNameId: '<%= classNameId %>',
+						dialog: {
+							width: 1024
+						},
+						groupId: <%= ddmTemplateGroupId %>,
+						refererPortletName: '<%= PortletKeys.PORTLET_DISPLAY_TEMPLATES %>',
+						struts_action: '/dynamic_data_mapping/view_template',
+						title: '<%= UnicodeLanguageUtil.get(pageContext, "application-display-templates") %>'
+					},
+					function(event) {
+						if (!event.newVal) {
+							submitForm(document.<portlet:namespace />fm, '<%= refreshURL %>');
+						}
+					}
+				);
+			}
+		);
+	}
+
+	var displayStyleGroupIdInput = A.one('#<portlet:namespace />displayStyleGroupId');
+
+	var displayStyleSelect = A.one('#<portlet:namespace />displayStyle');
+
+	displayStyleSelect.on(
+		'change',
+		function(event) {
+			var selectedIndex = event.currentTarget.get('selectedIndex');
+
+			if (selectedIndex >= 0) {
+				var selectedOption = event.currentTarget.get('options').item(selectedIndex);
+
+				var displayStyleGroupId = selectedOption.attr('data-displaystylegroupid');
+
+				if (displayStyleGroupId) {
+					displayStyleGroupIdInput.set('value', displayStyleGroupId);
+				}
+			}
+		}
+	);
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/diff/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/diff/init.jsp
new file mode 100644
index 0000000..8cb3421
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/diff/init.jsp
@@ -0,0 +1,20 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portal.kernel.util.Diff" %><%@
+page import="com.liferay.portal.kernel.util.DiffResult" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/diff/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/diff/page.jsp
new file mode 100644
index 0000000..2f10445
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/diff/page.jsp
@@ -0,0 +1,125 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/diff/init.jsp" %>
+
+<%
+String sourceName = (String)request.getAttribute("liferay-ui:diff:sourceName");
+String targetName = (String)request.getAttribute("liferay-ui:diff:targetName");
+List<DiffResult>[] diffResults = (List<DiffResult>[])request.getAttribute("liferay-ui:diff:diffResults");
+
+List<DiffResult> sourceResults = diffResults[0];
+List<DiffResult> targetResults = diffResults[1];
+%>
+
+<c:choose>
+	<c:when test="<%= !sourceResults.isEmpty() %>">
+		<table class="table table-bordered table-hover table-striped" id="taglib-diff-results">
+		<tr>
+			<td class="table-cell">
+				<%= sourceName %>
+			</td>
+			<td class="table-cell">
+				<%= targetName %>
+			</td>
+		</tr>
+
+		<%
+		for (int i = 0; i < sourceResults.size(); i++) {
+			DiffResult sourceResult = sourceResults.get(i);
+			DiffResult targetResult = targetResults.get(i);
+		%>
+
+			<tr>
+				<th class="table-header">
+					<liferay-ui:message key="line" /> <%= sourceResult.getLineNumber() %>
+				</th>
+				<th class="table-header">
+					<liferay-ui:message key="line" /> <%= targetResult.getLineNumber() %>
+				</th>
+			</tr>
+
+			<tr>
+				<td class="table-cell" width="50%">
+					<table class="taglib-diff-table">
+
+					<%
+					for (String changedLine : sourceResult.getChangedLines()) {
+					%>
+
+						<tr class="lfr-top">
+							<%= _processColumn(changedLine) %>
+						</tr>
+
+					<%
+					}
+					%>
+
+					</table>
+				</td>
+				<td class="lfr-top" width="50%">
+					<table class="taglib-diff-table">
+
+					<%
+					for (String changedLine : targetResult.getChangedLines()) {
+					%>
+
+						<tr class="lfr-top">
+							<%= _processColumn(changedLine) %>
+						</tr>
+
+					<%
+					}
+					%>
+
+					</table>
+				</td>
+			</tr>
+
+		<%
+		}
+		%>
+
+		</table>
+	</c:when>
+	<c:otherwise>
+		<%= LanguageUtil.format(pageContext, "there-are-no-differences-between-x-and-x", new Object[] {sourceName, targetName}) %>
+	</c:otherwise>
+</c:choose>
+
+<%!
+private static String _processColumn(String changedLine) {
+	changedLine = changedLine.replaceAll(" ", "&nbsp;");
+	changedLine = changedLine.replaceAll("\t", "&nbsp;&nbsp;&nbsp;");
+
+	String column = "<td>" + changedLine + "</td>";
+
+	if (changedLine.equals(StringPool.BLANK)) {
+		return "<td>&nbsp;</td>";
+	}
+	else if (changedLine.equals(Diff.CONTEXT_LINE)) {
+		return "<td class=\"taglib-diff-context\">&nbsp;</td>";
+	}
+	else if (changedLine.equals(Diff.OPEN_INS + Diff.CLOSE_INS)) {
+		return "<td class=\"taglib-diff-addedline\">&nbsp;</td>";
+	}
+	else if (changedLine.equals(Diff.OPEN_DEL + Diff.CLOSE_DEL)) {
+		return "<td class=\"taglib-diff-deletedline\">&nbsp;</td>";
+	}
+
+	return column;
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/diff_html/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/diff_html/page.jsp
new file mode 100644
index 0000000..8cd07dd
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/diff_html/page.jsp
@@ -0,0 +1,70 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String diffHtmlResults = (String)request.getAttribute("liferay-ui:diff-html:diffHtmlResults");
+%>
+
+<div class="taglib-diff-html">
+	<%= diffHtmlResults %>
+</div>
+
+<aui:script>
+	function updateOverlays() {
+		var images = document.getElementsByTagName("img");
+
+		for (var i = 0; i < images.length; i++) {
+			var image = images[i];
+
+			var imageChangeType = image.getAttribute('changeType');
+
+			if ((imageChangeType == 'diff-removed-image') ||
+				(imageChangeType == 'diff-added-image')) {
+
+				var filter = null;
+				var existingDivs = image.parentNode.getElementsByTagName('div');
+
+				if ((existingDivs.length > 0) &&
+					(existingDivs[0].className == imageChangeType)) {
+
+					filter = existingDivs[0];
+				}
+				else {
+					filter = document.createElement("div");
+
+					filter.className= image.getAttribute("changeType");
+				}
+
+				filter.style.height = image.offsetHeight - 4 + "px";
+				filter.style.width = image.offsetWidth - 4 + "px";
+
+				if (image.y && image.x) {
+
+					// Workaround for IE
+
+					filter.style.top = image.y + "px";
+					filter.style.left = image.x - 1 + "px";
+				}
+
+				if (existingDivs.length == 0) {
+					image.parentNode.insertBefore(filter, image);
+				}
+			}
+		}
+	}
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/discussion/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/discussion/init.jsp
new file mode 100644
index 0000000..81441e4
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/discussion/init.jsp
@@ -0,0 +1,34 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portal.kernel.parsers.bbcode.BBCodeTranslatorUtil" %><%@
+page import="com.liferay.portlet.messageboards.model.MBCategory" %><%@
+page import="com.liferay.portlet.messageboards.model.MBDiscussion" %><%@
+page import="com.liferay.portlet.messageboards.model.MBMessageDisplay" %><%@
+page import="com.liferay.portlet.messageboards.model.MBThread" %><%@
+page import="com.liferay.portlet.messageboards.model.MBTreeWalker" %><%@
+page import="com.liferay.portlet.messageboards.service.permission.MBDiscussionPermission" %><%@
+page import="com.liferay.portlet.messageboards.util.comparator.MessageCreateDateComparator" %><%@
+page import="com.liferay.portlet.ratings.model.RatingsEntry" %><%@
+page import="com.liferay.portlet.ratings.model.RatingsStats" %><%@
+page import="com.liferay.portlet.ratings.service.RatingsEntryLocalServiceUtil" %><%@
+page import="com.liferay.portlet.ratings.service.RatingsStatsLocalServiceUtil" %><%@
+page import="com.liferay.portlet.ratings.service.persistence.RatingsEntryUtil" %><%@
+page import="com.liferay.portlet.ratings.service.persistence.RatingsStatsUtil" %>
+
+<portlet:defineObjects />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/discussion/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/discussion/page.jsp
new file mode 100644
index 0000000..65db489
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/discussion/page.jsp
@@ -0,0 +1,781 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/discussion/init.jsp" %>
+
+<%
+String randomNamespace = StringUtil.randomId() + StringPool.UNDERLINE;
+
+boolean assetEntryVisible = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:discussion:assetEntryVisible"));
+String className = (String)request.getAttribute("liferay-ui:discussion:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:discussion:classPK"));
+String formAction = (String)request.getAttribute("liferay-ui:discussion:formAction");
+String formName = (String)request.getAttribute("liferay-ui:discussion:formName");
+boolean hideControls = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:discussion:hideControls"));
+String permissionClassName = (String)request.getAttribute("liferay-ui:discussion:permissionClassName");
+long permissionClassPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:discussion:permissionClassPK"));
+boolean ratingsEnabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:discussion:ratingsEnabled"));
+String redirect = (String)request.getAttribute("liferay-ui:discussion:redirect");
+long userId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:discussion:userId"));
+
+String strutsAction = ParamUtil.getString(request, "struts_action");
+
+String threadView = PropsValues.DISCUSSION_THREAD_VIEW;
+
+MBMessageDisplay messageDisplay = MBMessageLocalServiceUtil.getDiscussionMessageDisplay(userId, scopeGroupId, className, classPK, WorkflowConstants.STATUS_ANY, threadView);
+
+MBCategory category = messageDisplay.getCategory();
+MBThread thread = messageDisplay.getThread();
+MBTreeWalker treeWalker = messageDisplay.getTreeWalker();
+MBMessage rootMessage = null;
+List<MBMessage> messages = null;
+int messagesCount = 0;
+SearchContainer searchContainer = null;
+
+if (treeWalker != null) {
+	rootMessage = treeWalker.getRoot();
+	messages = treeWalker.getMessages();
+	messagesCount = messages.size();
+}
+else {
+	rootMessage = MBMessageLocalServiceUtil.getMessage(thread.getRootMessageId());
+	messagesCount = MBMessageLocalServiceUtil.getThreadMessagesCount(rootMessage.getThreadId(), WorkflowConstants.STATUS_ANY);
+}
+
+Format dateFormatDateTime = FastDateFormatFactoryUtil.getDateTime(locale, timeZone);
+%>
+
+<div class="hide lfr-message-response" id="<portlet:namespace />discussion-status-messages"></div>
+
+<c:if test="<%= (messagesCount > 1) || MBDiscussionPermission.contains(permissionChecker, company.getCompanyId(), scopeGroupId, permissionClassName, permissionClassPK, userId, ActionKeys.VIEW) %>">
+	<div class="taglib-discussion">
+		<aui:form action="<%= formAction %>" method="post" name="<%= formName %>">
+			<aui:input name="randomNamespace" type="hidden" value="<%= randomNamespace %>" />
+			<aui:input id="<%= randomNamespace + Constants.CMD %>" name="<%= Constants.CMD %>" type="hidden" />
+			<aui:input name="redirect" type="hidden" value="<%= redirect %>" />
+			<aui:input name="contentURL" type="hidden" value="<%= PortalUtil.getCanonicalURL(redirect, themeDisplay, layout) %>" />
+			<aui:input name="assetEntryVisible" type="hidden" value="<%= assetEntryVisible %>" />
+			<aui:input name="className" type="hidden" value="<%= className %>" />
+			<aui:input name="classPK" type="hidden" value="<%= classPK %>" />
+			<aui:input name="permissionClassName" type="hidden" value="<%= permissionClassName %>" />
+			<aui:input name="permissionClassPK" type="hidden" value="<%= permissionClassPK %>" />
+			<aui:input name="permissionOwnerId" type="hidden" value="<%= String.valueOf(userId) %>" />
+			<aui:input name="messageId" type="hidden" />
+			<aui:input name="threadId" type="hidden" value="<%= thread.getThreadId() %>" />
+			<aui:input name="parentMessageId" type="hidden" />
+			<aui:input name="body" type="hidden" />
+			<aui:input name="workflowAction" type="hidden" value="<%= String.valueOf(WorkflowConstants.ACTION_PUBLISH) %>" />
+			<aui:input name="ajax" type="hidden" value="<%= true %>" />
+
+			<%
+			int i = 0;
+
+			MBMessage message = rootMessage;
+			%>
+
+			<c:if test="<%= !hideControls && MBDiscussionPermission.contains(permissionChecker, company.getCompanyId(), scopeGroupId, permissionClassName, permissionClassPK, userId, ActionKeys.ADD_DISCUSSION) %>">
+				<aui:fieldset cssClass="add-comment" id='<%= randomNamespace + "messageScroll0" %>'>
+					<div id="<%= randomNamespace %>messageScroll<%= message.getMessageId() %>">
+						<aui:input name='<%= "messageId" + i %>' type="hidden" value="<%= message.getMessageId() %>" />
+						<aui:input name='<%= "parentMessageId" + i %>' type="hidden" value="<%= message.getMessageId() %>" />
+					</div>
+
+					<%
+					String taglibPostReplyURL = "javascript:" + randomNamespace + "showForm('" + randomNamespace + "postReplyForm" + i + "', '" + namespace + randomNamespace + "postReplyBody" + i + "');";
+					%>
+
+					<c:choose>
+						<c:when test="<%= TrashUtil.isInTrash(className, classPK) %>">
+							<div class="alert alert-block">
+								<liferay-ui:message key="commenting-is-disabled-because-this-entry-is-in-the-recycle-bin" />
+							</div>
+						</c:when>
+						<c:otherwise>
+							<c:choose>
+								<c:when test="<%= messagesCount == 1 %>">
+									<liferay-ui:message key="no-comments-yet" /> <a href="<%= taglibPostReplyURL %>"><liferay-ui:message key="be-the-first" /></a>
+								</c:when>
+								<c:otherwise>
+									<liferay-ui:icon
+										image="reply"
+										label="<%= true %>"
+										message="add-comment"
+										url="<%= taglibPostReplyURL %>"
+									/>
+								</c:otherwise>
+							</c:choose>
+						</c:otherwise>
+					</c:choose>
+
+					<%
+					boolean subscribed = SubscriptionLocalServiceUtil.isSubscribed(company.getCompanyId(), user.getUserId(), className, classPK);
+
+					String subscriptionURL = "javascript:" + randomNamespace + "subscribeToComments(" + !subscribed + ");";
+					%>
+
+					<c:if test="<%= themeDisplay.isSignedIn() && !TrashUtil.isInTrash(className, classPK) %>">
+						<c:choose>
+							<c:when test="<%= subscribed %>">
+								<liferay-ui:icon
+									cssClass="subscribe-link"
+									image="unsubscribe"
+									label="<%= true %>"
+									message="unsubscribe-from-comments"
+									url="<%= subscriptionURL %>"
+								/>
+							</c:when>
+							<c:otherwise>
+								<liferay-ui:icon
+									cssClass="subscribe-link"
+									image="subscribe"
+									label="<%= true %>"
+									message="subscribe-to-comments"
+									url="<%= subscriptionURL %>"
+								/>
+							</c:otherwise>
+						</c:choose>
+					</c:if>
+
+					<aui:input name="emailAddress" type="hidden" />
+
+					<div id="<%= randomNamespace %>postReplyForm<%= i %>" style="display: none;">
+						<aui:input id='<%= randomNamespace + "postReplyBody" + i %>' label="comment" name='<%= "postReplyBody" + i %>' style='<%= "height: " + ModelHintsConstants.TEXTAREA_DISPLAY_HEIGHT + "px; max-width: " + ModelHintsConstants.TEXTAREA_DISPLAY_WIDTH + "px;" %>' type="textarea" wrap="soft" />
+
+						<%
+						String postReplyButtonLabel = LanguageUtil.get(pageContext, "reply");
+
+						if (!themeDisplay.isSignedIn()) {
+							postReplyButtonLabel = LanguageUtil.get(pageContext, "reply-as");
+						}
+
+						if (WorkflowDefinitionLinkLocalServiceUtil.hasWorkflowDefinitionLink(themeDisplay.getCompanyId(), scopeGroupId, MBDiscussion.class.getName()) && !strutsAction.contains("workflow")) {
+							postReplyButtonLabel = LanguageUtil.get(pageContext, "submit-for-publication");
+						}
+						%>
+
+						<c:if test="<%= !subscribed && themeDisplay.isSignedIn() %>">
+							<aui:input helpMessage="comments-subscribe-me-help" label="subscribe-me" name="subscribe" type="checkbox" value="<%= PropsValues.DISCUSSION_SUBSCRIBE_BY_DEFAULT %>" />
+						</c:if>
+
+						<aui:button-row>
+							<aui:button cssClass="btn-comment" id='<%= namespace + randomNamespace + "postReplyButton" + i %>' onClick='<%= randomNamespace + "postReply(" + i + ");" %>' value="<%= postReplyButtonLabel %>" />
+
+							<%
+							String taglibCancel = "document.getElementById('" + randomNamespace + "postReplyForm" + i + "').style.display = 'none'; document.getElementById('" + namespace + randomNamespace + "postReplyBody" + i + "').value = ''; void('');";
+							%>
+
+							<aui:button cssClass="btn-comment" onClick="<%= taglibCancel %>" type="cancel" />
+						</aui:button-row>
+					</div>
+				</aui:fieldset>
+			</c:if>
+
+			<c:if test="<%= messagesCount > 1 %>">
+				<a name="<%= randomNamespace %>messages_top"></a>
+
+				<c:if test="<%= treeWalker != null %>">
+				<table class="tree-walker table table-bordered table-hover table-striped">
+					<thead class="table-columns">
+					<tr>
+						<th class="table-header" colspan="2">
+							<liferay-ui:message key="threaded-replies" />
+						</th>
+						<th class="table-header" colspan="2">
+							<liferay-ui:message key="author" />
+						</th>
+						<th class="table-header">
+							<liferay-ui:message key="date" />
+						</th>
+					</tr>
+					</thead>
+
+					<tbody class="table-data">
+
+					<%
+					int[] range = treeWalker.getChildrenRange(rootMessage);
+
+					for (i = range[0]; i < range[1]; i++) {
+						message = (MBMessage)messages.get(i);
+
+						boolean lastChildNode = false;
+
+						if ((i + 1) == range[1]) {
+							lastChildNode = true;
+						}
+
+						request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER, treeWalker);
+						request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_CATEGORY, category);
+						request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_CUR_MESSAGE, message);
+						request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_DEPTH, new Integer(0));
+						request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_LAST_NODE, Boolean.valueOf(lastChildNode));
+						request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_SEL_MESSAGE, rootMessage);
+						request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_THREAD, thread);
+					%>
+
+						<liferay-util:include page="/html/taglib/ui/discussion/view_message_thread.jsp" />
+
+					<%
+					}
+					%>
+
+					</tbody>
+				</table>
+
+					<br />
+				</c:if>
+
+				<aui:row>
+
+					<%
+					if (messages != null) {
+						messages = ListUtil.sort(messages, new MessageCreateDateComparator(true));
+
+						messages = ListUtil.copy(messages);
+
+						messages.remove(0);
+					}
+					else {
+						PortletURL currentURLObj = PortletURLUtil.getCurrent(renderRequest, renderResponse);
+
+						searchContainer = new SearchContainer(renderRequest, null, null, SearchContainer.DEFAULT_CUR_PARAM, SearchContainer.DEFAULT_DELTA, currentURLObj, null, null);
+
+						searchContainer.setTotal(messagesCount - 1);
+
+						messages = MBMessageLocalServiceUtil.getThreadRepliesMessages(message.getThreadId(), WorkflowConstants.STATUS_ANY, searchContainer.getStart(), searchContainer.getEnd());
+
+						searchContainer.setResults(messages);
+					}
+
+					List<Long> classPKs = new ArrayList<Long>();
+
+					for (MBMessage curMessage : messages) {
+						classPKs.add(curMessage.getMessageId());
+					}
+
+					List<RatingsEntry> ratingsEntries = RatingsEntryLocalServiceUtil.getEntries(themeDisplay.getUserId(), MBDiscussion.class.getName(), classPKs);
+					List<RatingsStats> ratingsStatsList = RatingsStatsLocalServiceUtil.getStats(MBDiscussion.class.getName(), classPKs);
+
+					for (i = 1; i <= messages.size(); i++) {
+						message = messages.get(i - 1);
+
+						if ((!message.isApproved() && ((message.getUserId() != user.getUserId()) || user.isDefaultUser()) && !permissionChecker.isGroupAdmin(scopeGroupId)) || !MBDiscussionPermission.contains(permissionChecker, company.getCompanyId(), scopeGroupId, permissionClassName, permissionClassPK, userId, ActionKeys.VIEW)) {
+							continue;
+						}
+
+						String cssClass = StringPool.BLANK;
+
+						if (i == 1) {
+							cssClass = "first";
+						}
+						else if (i == messages.size()) {
+							cssClass = "last";
+						}
+					%>
+
+						<div class="lfr-discussion <%= cssClass %>">
+							<div id="<%= randomNamespace %>messageScroll<%= message.getMessageId() %>">
+								<a name="<%= randomNamespace %>message_<%= message.getMessageId() %>"></a>
+
+								<aui:input name='<%= "messageId" + i %>' type="hidden" value="<%= message.getMessageId() %>" />
+								<aui:input name='<%= "parentMessageId" + i %>' type="hidden" value="<%= message.getMessageId() %>" />
+							</div>
+
+							<aui:row fluid="<%= true %>">
+								<aui:col cssClass="lfr-discussion-details" width="25">
+									<liferay-ui:user-display
+										displayStyle="<%= 2 %>"
+										userId="<%= message.getUserId() %>"
+										userName="<%= HtmlUtil.escape(message.getUserName()) %>"
+									/>
+								</aui:col>
+
+								<aui:col cssClass="lfr-discussion-body" width="75">
+									<c:if test="<%= (message != null) && !message.isApproved() %>">
+										<aui:model-context bean="<%= message %>" model="<%= MBMessage.class %>" />
+
+										<div>
+											<aui:workflow-status model="<%= MBDiscussion.class %>" status="<%= message.getStatus() %>" />
+										</div>
+									</c:if>
+
+									<div class="lfr-discussion-message">
+
+										<%
+										String msgBody = BBCodeTranslatorUtil.getHTML(message.getBody());
+
+										msgBody = StringUtil.replace(msgBody, "@theme_images_path@/emoticons", themeDisplay.getPathThemeImages() + "/emoticons");
+										%>
+
+										<%= msgBody %>
+									</div>
+
+									<div class="lfr-discussion-controls">
+										<c:if test="<%= ratingsEnabled && !TrashUtil.isInTrash(message.getClassName(), message.getClassPK()) %>">
+
+											<%
+											RatingsEntry ratingsEntry = getRatingsEntry(ratingsEntries, message.getMessageId());
+											RatingsStats ratingStats = getRatingsStats(ratingsStatsList, message.getMessageId());
+											%>
+
+											<liferay-ui:ratings
+												className="<%= MBDiscussion.class.getName() %>"
+												classPK="<%= message.getMessageId() %>"
+												ratingsEntry="<%= ratingsEntry %>"
+												ratingsStats="<%= ratingStats %>"
+												type="thumbs"
+											/>
+										</c:if>
+
+										<c:if test="<%= !hideControls && !TrashUtil.isInTrash(message.getClassName(), message.getClassPK()) %>">
+											<ul class="lfr-discussion-actions">
+												<c:if test="<%= MBDiscussionPermission.contains(permissionChecker, company.getCompanyId(), scopeGroupId, permissionClassName, permissionClassPK, userId, ActionKeys.ADD_DISCUSSION) %>">
+													<li class="lfr-discussion-reply-to">
+
+														<%
+														String taglibPostReplyURL = "javascript:" + randomNamespace + "showForm('" + randomNamespace + "postReplyForm" + i + "', '" + namespace + randomNamespace + "postReplyBody" + i + "'); " + randomNamespace + "hideForm('" + randomNamespace + "editForm" + i + "', '" + namespace + randomNamespace + "editReplyBody" + i + "', '" + HtmlUtil.escapeJS(message.getBody()) + "');";
+														%>
+
+														<liferay-ui:icon
+															image="reply"
+															label="<%= true %>"
+															message="post-reply"
+															url="<%= taglibPostReplyURL %>"
+														/>
+													</li>
+												</c:if>
+
+												<c:if test="<%= i > 0 %>">
+
+													<%
+													String taglibTopURL = "#" + randomNamespace + "messages_top";
+													%>
+
+													<li class="lfr-discussion-top-link">
+														<liferay-ui:icon
+															image="top"
+															label="<%= true %>"
+															url="<%= taglibTopURL %>"
+															/>
+													</li>
+
+													<c:if test="<%= MBDiscussionPermission.contains(permissionChecker, company.getCompanyId(), scopeGroupId, permissionClassName, permissionClassPK, message.getMessageId(), message.getUserId(), ActionKeys.UPDATE_DISCUSSION) %>">
+
+														<%
+														String taglibEditURL = "javascript:" + randomNamespace + "showForm('" + randomNamespace + "editForm" + i + "', '" + namespace + randomNamespace + "editReplyBody" + i + "');" + randomNamespace + "hideForm('" + randomNamespace + "postReplyForm" + i + "', '" + namespace + randomNamespace + "postReplyBody" + i + "', '')";
+														%>
+
+														<li class="lfr-discussion-edit">
+															<liferay-ui:icon
+																image="edit"
+																label="<%= true %>"
+																url="<%= taglibEditURL %>"
+															/>
+														</li>
+													</c:if>
+
+													<c:if test="<%= MBDiscussionPermission.contains(permissionChecker, company.getCompanyId(), scopeGroupId, permissionClassName, permissionClassPK, message.getMessageId(), message.getUserId(), ActionKeys.DELETE_DISCUSSION) %>">
+
+														<%
+														String taglibDeleteURL = "javascript:" + randomNamespace + "deleteMessage(" + i + ");";
+														%>
+
+														<li class="lfr-discussion-delete">
+															<liferay-ui:icon-delete
+																label="<%= true %>"
+																url="<%= taglibDeleteURL %>"
+															/>
+														</li>
+													</c:if>
+												</c:if>
+											</ul>
+										</c:if>
+									</div>
+								</aui:col>
+							</aui:row>
+
+							<aui:row cssClass="lfr-discussion-form-container" fluid="<%= true %>">
+								<div class="lfr-discussion-form lfr-discussion-form-reply span12" id="<%= randomNamespace %>postReplyForm<%= i %>" style='<%= "display: none; max-width: " + ModelHintsConstants.TEXTAREA_DISPLAY_WIDTH + "px;" %>'>
+
+									<liferay-ui:user-display
+										displayStyle="<%= 2 %>"
+										userId="<%= user.getUserId() %>"
+										userName="<%= HtmlUtil.escape(PortalUtil.getUserName(user.getUserId(), StringPool.BLANK)) %>"
+									/>
+
+									<aui:input id='<%= randomNamespace + "postReplyBody" + i %>' label="" name='<%= "postReplyBody" + i %>' style='<%= "height: " + ModelHintsConstants.TEXTAREA_DISPLAY_HEIGHT + "px;" %>' type="textarea" wrap="soft" />
+
+									<aui:button-row>
+										<aui:button cssClass="btn-comment" id='<%= namespace + randomNamespace + "postReplyButton" + i %>' onClick='<%= randomNamespace + "postReply(" + i + ");" %>' value='<%= themeDisplay.isSignedIn() ? "reply" : "reply-as" %>' />
+
+										<%
+										String taglibCancel = randomNamespace + "hideForm('" + randomNamespace + "postReplyForm" + i + "', '" + namespace + randomNamespace + "postReplyBody" + i + "', '');";
+										%>
+
+										<aui:button cssClass="btn-comment" onClick="<%= taglibCancel %>" type="cancel" />
+									</aui:button-row>
+								</div>
+
+								<c:if test="<%= !hideControls && MBDiscussionPermission.contains(permissionChecker, company.getCompanyId(), scopeGroupId, permissionClassName, permissionClassPK, message.getMessageId(), message.getUserId(), ActionKeys.UPDATE_DISCUSSION) %>">
+									<div class="lfr-discussion-form lfr-discussion-form-edit span12" id="<%= randomNamespace %>editForm<%= i %>" style='<%= "display: none; max-width: " + ModelHintsConstants.TEXTAREA_DISPLAY_WIDTH + "px;" %>'>
+										<aui:input id='<%= randomNamespace + "editReplyBody" + i %>' label="" name='<%= "editReplyBody" + i %>' style='<%= "height: " + ModelHintsConstants.TEXTAREA_DISPLAY_HEIGHT + "px;" %>' type="textarea" value="<%= message.getBody() %>" wrap="soft" />
+
+										<%
+										boolean pending = message.isPending();
+
+										String publishButtonLabel = LanguageUtil.get(pageContext, "publish");
+
+										if (WorkflowDefinitionLinkLocalServiceUtil.hasWorkflowDefinitionLink(themeDisplay.getCompanyId(), scopeGroupId, MBDiscussion.class.getName())) {
+											if (pending) {
+												publishButtonLabel = "save";
+											}
+											else {
+												publishButtonLabel = LanguageUtil.get(pageContext, "submit-for-publication");
+											}
+										}
+										%>
+
+										<aui:button-row>
+											<aui:button name='<%= randomNamespace + "editReplyButton" + i %>' onClick='<%= randomNamespace + "updateMessage(" + i + ");" %>' value="<%= publishButtonLabel %>" />
+
+											<%
+											String taglibCancel = randomNamespace + "hideForm('" + randomNamespace + "editForm" + i + "', '" + namespace + randomNamespace + "editReplyBody" + i + "', '" + HtmlUtil.escapeJS(message.getBody()) + "');";
+											%>
+
+											<aui:button onClick="<%= taglibCancel %>" type="cancel" />
+										</aui:button-row>
+									</div>
+								</c:if>
+							</aui:row>
+
+							<div class="lfr-discussion-posted-on">
+								<c:choose>
+									<c:when test="<%= message.getParentMessageId() == rootMessage.getMessageId() %>">
+										<%= LanguageUtil.format(pageContext, "posted-on-x", dateFormatDateTime.format(message.getModifiedDate())) %>
+									</c:when>
+									<c:otherwise>
+
+										<%
+										MBMessage parentMessage = MBMessageLocalServiceUtil.getMessage(message.getParentMessageId());
+
+										StringBundler sb = new StringBundler(7);
+
+										sb.append("<a href=\"#");
+										sb.append(randomNamespace);
+										sb.append("message_");
+										sb.append(parentMessage.getMessageId());
+										sb.append("\">");
+										sb.append(HtmlUtil.escape(parentMessage.getUserName()));
+										sb.append("</a>");
+										%>
+
+										<%= LanguageUtil.format(pageContext, "posted-on-x-in-reply-to-x", new Object[] {dateFormatDateTime.format(message.getModifiedDate()), sb.toString()}) %>
+									</c:otherwise>
+								</c:choose>
+							</div>
+						</div>
+
+					<%
+					}
+					%>
+
+				</aui:row>
+
+				<c:if test="<%= (searchContainer != null) && (searchContainer.getTotal() > searchContainer.getDelta()) %>">
+					<liferay-ui:search-paginator searchContainer="<%= searchContainer %>" />
+				</c:if>
+			</c:if>
+		</aui:form>
+	</div>
+
+	<%
+	PortletURL loginURL = PortletURLFactoryUtil.create(request, PortletKeys.FAST_LOGIN, themeDisplay.getPlid(), PortletRequest.RENDER_PHASE);
+
+	loginURL.setParameter("saveLastPath", Boolean.FALSE.toString());
+	loginURL.setParameter("struts_action", "/login/login");
+	loginURL.setPortletMode(PortletMode.VIEW);
+	loginURL.setWindowState(LiferayWindowState.POP_UP);
+	%>
+
+	<aui:script>
+		function <%= randomNamespace %>hideForm(rowId, textAreaId, textAreaValue) {
+			document.getElementById(rowId).style.display = "none";
+			document.getElementById(textAreaId).value = textAreaValue;
+		}
+
+		function <%= randomNamespace %>scrollIntoView(messageId) {
+			document.getElementById("<%= randomNamespace %>messageScroll" + messageId).scrollIntoView();
+		}
+
+		function <%= randomNamespace %>showForm(rowId, textAreaId) {
+			document.getElementById(rowId).style.display = "block";
+			document.getElementById(textAreaId).focus();
+		}
+
+		Liferay.provide(
+			window,
+			'<%= randomNamespace %>afterLogin',
+			function(emailAddress, anonymousAccount) {
+				var A = AUI();
+
+				var form = A.one('#<%= namespace %><%= HtmlUtil.escapeJS(formName) %>');
+
+				form.one('#<%= namespace %>emailAddress').val(emailAddress);
+
+				<portlet:namespace />sendMessage(form, !anonymousAccount);
+			},
+			['aui-base']
+		);
+
+		Liferay.provide(
+			window,
+			'<%= randomNamespace %>deleteMessage',
+			function(i) {
+				var A = AUI();
+
+				var form = A.one('#<%= namespace %><%= HtmlUtil.escapeJS(formName) %>');
+
+				var messageId = form.one('#<%= namespace %>messageId' + i).val();
+
+				form.one('#<%= namespace %><%= randomNamespace %><%= Constants.CMD %>').val('<%= Constants.DELETE %>');
+				form.one('#<%= namespace %>messageId').val(messageId);
+
+				<portlet:namespace />sendMessage(form);
+			},
+			['aui-base']
+		);
+
+		Liferay.provide(
+			window,
+			'<portlet:namespace />onMessagePosted',
+			function(response, refreshPage) {
+				Liferay.after(
+					'<%= portletDisplay.getId() %>:portletRefreshed',
+					function(event) {
+						var A = AUI();
+
+						<portlet:namespace />showStatusMessage('success', '<%= UnicodeLanguageUtil.get(pageContext, "your-request-processed-successfully") %>');
+
+						location.hash = '#' + A.one('#<portlet:namespace />randomNamespace').val() + 'message_' + response.messageId;
+					}
+				);
+
+				if (refreshPage) {
+					window.location.reload();
+				}
+				else {
+					Liferay.Portlet.refresh('#p_p_id_<%= portletDisplay.getId() %>_');
+				}
+			},
+			['aui-base']
+		);
+
+		Liferay.provide(
+			window,
+			'<%= randomNamespace %>postReply',
+			function(i) {
+				var A = AUI();
+
+				var form = A.one('#<%= namespace %><%= HtmlUtil.escapeJS(formName) %>');
+
+				var body = form.one('#<%= namespace %><%= randomNamespace%>postReplyBody' + i).val();
+				var parentMessageId = form.one('#<%= namespace %>parentMessageId' + i).val();
+
+				form.one('#<%= namespace %><%= randomNamespace %><%= Constants.CMD %>').val('<%= Constants.ADD %>');
+				form.one('#<%= namespace %>parentMessageId').val(parentMessageId);
+				form.one('#<%= namespace %>body').val(body);
+
+				if (!themeDisplay.isSignedIn()) {
+					window.namespace = '<%= namespace %>';
+					window.randomNamespace = '<%= randomNamespace %>';
+
+					Liferay.Util.openWindow(
+						{
+							dialog: {
+								height: 460,
+								width: 770
+							},
+							id: '<%= namespace %>signInDialog',
+							title: '<%= UnicodeLanguageUtil.get(pageContext, "sign-in") %>',
+							uri: '<%= loginURL.toString() %>'
+						}
+					);
+				}
+				else {
+					<portlet:namespace />sendMessage(form);
+				}
+			},
+			['aui-base']
+		);
+
+		Liferay.provide(
+			window,
+			'<portlet:namespace />sendMessage',
+			function(form, refreshPage) {
+				var A = AUI();
+
+				var Util = Liferay.Util;
+
+				form = A.one(form);
+
+				var commentButtonList = form.all('.btn-comment');
+
+				A.io.request(
+					form.attr('action'),
+					{
+						dataType: 'json',
+						form: {
+							id: form
+						},
+						on: {
+							complete: function(event, id, obj) {
+								Util.toggleDisabled(commentButtonList, false);
+							},
+							failure: function(event, id, obj) {
+								<portlet:namespace />showStatusMessage('error', '<%= UnicodeLanguageUtil.get(pageContext, "your-request-failed-to-complete") %>');
+							},
+							start: function() {
+								Util.toggleDisabled(commentButtonList, true);
+							},
+							success: function(event, id, obj) {
+								var response = this.get('responseData');
+
+								var exception = response.exception;
+
+								if (!exception) {
+									Liferay.after(
+										'<%= portletDisplay.getId() %>:messagePosted',
+										function(event) {
+											<portlet:namespace />onMessagePosted(response, refreshPage);
+										}
+									);
+
+									Liferay.fire('<%= portletDisplay.getId() %>:messagePosted', response);
+								}
+								else {
+									var errorKey = '<%= UnicodeLanguageUtil.get(pageContext, "your-request-failed-to-complete") %>';
+
+									if (exception.indexOf('MessageBodyException') > -1) {
+										errorKey = '<%= UnicodeLanguageUtil.get(pageContext, "please-enter-a-valid-message") %>';
+									}
+									else if (exception.indexOf('NoSuchMessageException') > -1) {
+										errorKey = '<%= UnicodeLanguageUtil.get(pageContext, "the-message-could-not-be-found") %>';
+									}
+									else if (exception.indexOf('PrincipalException') > -1) {
+										errorKey = '<%= UnicodeLanguageUtil.get(pageContext, "you-do-not-have-the-required-permissions") %>';
+									}
+									else if (exception.indexOf('RequiredMessageException') > -1) {
+										errorKey = '<%= UnicodeLanguageUtil.get(pageContext, "you-cannot-delete-a-root-message-that-has-more-than-one-immediate-reply") %>';
+									}
+
+									<portlet:namespace />showStatusMessage('error', errorKey);
+								}
+							}
+						}
+					}
+				);
+			},
+			['aui-io']
+		);
+
+		Liferay.provide(
+			window,
+			'<portlet:namespace />showStatusMessage',
+			function(type, message) {
+				var A = AUI();
+
+				var messageContainer = A.one('#<portlet:namespace />discussion-status-messages');
+
+				messageContainer.removeClass('alert-error').removeClass('alert-success');
+
+				messageContainer.addClass('alert alert-' + type);
+
+				messageContainer.html(message);
+
+				messageContainer.show();
+			},
+			['aui-base']
+		);
+
+		Liferay.provide(
+			window,
+			'<%= randomNamespace %>subscribeToComments',
+			function(subscribe) {
+				var A = AUI();
+
+				var form = A.one('#<%= namespace %><%= HtmlUtil.escapeJS(formName) %>');
+
+				var cmd = form.one('#<%= namespace %><%= randomNamespace %><%= Constants.CMD %>');
+
+				var cmdVal = '<%= Constants.UNSUBSCRIBE_FROM_COMMENTS %>';
+
+				if (subscribe) {
+					cmdVal = '<%= Constants.SUBSCRIBE_TO_COMMENTS %>';
+				}
+
+				cmd.val(cmdVal);
+
+				<portlet:namespace />sendMessage(form);
+			},
+			['aui-base']
+		);
+
+		Liferay.provide(
+			window,
+			'<%= randomNamespace %>updateMessage',
+			function(i, pending) {
+				var A = AUI();
+
+				var form = A.one('#<%= namespace %><%= HtmlUtil.escapeJS(formName) %>');
+
+				var body = form.one('#<%= namespace %><%= randomNamespace%>editReplyBody' + i).val();
+				var messageId = form.one('#<%= namespace %>messageId' + i).val();
+
+				if (pending) {
+					form.one('#<%= namespace %>workflowAction').val('<%= WorkflowConstants.ACTION_SAVE_DRAFT %>');
+				}
+
+				form.one('#<%= namespace %><%= randomNamespace %><%= Constants.CMD %>').val('<%= Constants.UPDATE %>');
+				form.one('#<%= namespace %>messageId').val(messageId);
+				form.one('#<%= namespace %>body').val(body);
+
+				<portlet:namespace />sendMessage(form);
+			},
+			['aui-base']
+		);
+	</aui:script>
+</c:if>
+
+<%!
+private RatingsEntry getRatingsEntry(List<RatingsEntry> ratingEntries, long classPK) {
+	for (RatingsEntry ratingsEntry : ratingEntries) {
+		if (ratingsEntry.getClassPK() == classPK) {
+			return ratingsEntry;
+		}
+	}
+
+	return RatingsEntryUtil.create(0);
+}
+
+private RatingsStats getRatingsStats(List<RatingsStats> ratingsStatsList, long classPK) {
+	for (RatingsStats ratingsStats : ratingsStatsList) {
+		if (ratingsStats.getClassPK() == classPK) {
+			return ratingsStats;
+		}
+	}
+
+	return RatingsStatsUtil.create(0);
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/discussion/view_message_thread.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/discussion/view_message_thread.jsp
new file mode 100644
index 0000000..bf51d34
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/discussion/view_message_thread.jsp
@@ -0,0 +1,106 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/portlet/message_boards/init.jsp" %>
+
+<%
+MBTreeWalker treeWalker = (MBTreeWalker)request.getAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER);
+MBMessage selMessage = (MBMessage)request.getAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_SEL_MESSAGE);
+MBMessage message = (MBMessage)request.getAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_CUR_MESSAGE);
+MBCategory category = (MBCategory)request.getAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_CATEGORY);
+MBThread thread = (MBThread)request.getAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_THREAD);
+boolean lastNode = ((Boolean)request.getAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_LAST_NODE)).booleanValue();
+int depth = ((Integer)request.getAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_DEPTH)).intValue();
+%>
+
+<tr>
+	<td class="table-cell" style="padding-left: <%= depth * 10 %>px; width: 90%">
+		<c:if test="<%= !message.isRoot() %>">
+			<c:choose>
+				<c:when test="<%= !lastNode %>">
+					<img alt="" src="<%= themeDisplay.getPathThemeImages() %>/message_boards/t.png" />
+				</c:when>
+				<c:otherwise>
+					<img alt="" src="<%= themeDisplay.getPathThemeImages() %>/message_boards/l.png" />
+				</c:otherwise>
+			</c:choose>
+		</c:if>
+
+		<%
+		String rowHREF = "#" + renderResponse.getNamespace() + "message_" + message.getMessageId();
+		%>
+
+		<a href="<%= rowHREF %>"><%= HtmlUtil.escape(StringUtil.shorten(message.getBody(), 50, StringPool.TRIPLE_PERIOD)) %></a>
+	</td>
+	<td class="table-cell"></td>
+	<td class="table-cell" nowrap="nowrap">
+		<a href="<%= rowHREF %>">
+
+		<c:choose>
+			<c:when test="<%= message.isAnonymous() %>">
+				<c:choose>
+					<c:when test="<%= Validator.isNull(message.getUserName()) %>">
+						<liferay-ui:message key="anonymous" />
+					</c:when>
+					<c:otherwise>
+						<%= HtmlUtil.escape(message.getUserName()) %>
+					</c:otherwise>
+				</c:choose>
+			</c:when>
+			<c:otherwise>
+				<%= HtmlUtil.escape(PortalUtil.getUserName(message)) %>
+			</c:otherwise>
+		</c:choose>
+
+		</a>
+	</td>
+	<td class="table-cell"></td>
+	<td class="table-cell" nowrap="nowrap">
+		<a href="<%= rowHREF %>">
+		<%= dateFormatDateTime.format(message.getModifiedDate()) %>
+		</a>
+	</td>
+</tr>
+
+<%
+List messages = treeWalker.getMessages();
+int[] range = treeWalker.getChildrenRange(message);
+
+depth++;
+
+for (int i = range[0]; i < range[1]; i++) {
+	MBMessage curMessage = (MBMessage)messages.get(i);
+
+	boolean lastChildNode = false;
+
+	if ((i + 1) == range[1]) {
+		lastChildNode = true;
+	}
+
+	request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER, treeWalker);
+	request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_CATEGORY, category);
+	request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_CUR_MESSAGE, curMessage);
+	request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_DEPTH, new Integer(depth));
+	request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_LAST_NODE, Boolean.valueOf(lastChildNode));
+	request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_SEL_MESSAGE, selMessage);
+	request.setAttribute(WebKeys.MESSAGE_BOARDS_TREE_WALKER_THREAD, thread);
+%>
+
+	<liferay-util:include page="/html/taglib/ui/discussion/view_message_thread.jsp" />
+
+<%
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/error/end.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/error/end.jsp
new file mode 100644
index 0000000..259611a
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/error/end.jsp
@@ -0,0 +1,61 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String key = (String)request.getAttribute("liferay-ui:error:key");
+String message = (String)request.getAttribute("liferay-ui:error:message");
+boolean translateMessage = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:error:translateMessage"));
+String rowBreak = (String)request.getAttribute("liferay-ui:error:rowBreak");
+%>
+
+<c:choose>
+	<c:when test="<%= (key != null) && Validator.isNull(message) %>">
+		<c:if test="<%= SessionErrors.contains(portletRequest, key) %>">
+			</div>
+
+			<%= rowBreak %>
+		</c:if>
+	</c:when>
+	<c:when test="<%= key == null %>">
+		<c:if test="<%= !SessionErrors.isEmpty(portletRequest) %>">
+			<div class="alert alert-error">
+				<liferay-ui:message key="your-request-failed-to-complete" />
+			</div>
+
+			<%= rowBreak %>
+		</c:if>
+	</c:when>
+	<c:otherwise>
+		<c:if test="<%= SessionErrors.contains(portletRequest, key) %>">
+			<div class="alert alert-error">
+
+			<c:choose>
+				<c:when test="<%= translateMessage %>">
+					<%= LanguageUtil.get(pageContext, message) %>
+				</c:when>
+				<c:otherwise>
+					<%= message %>
+				</c:otherwise>
+			</c:choose>
+
+			</div>
+
+			<%= rowBreak %>
+		</c:if>
+	</c:otherwise>
+</c:choose>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/error/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/error/start.jsp
new file mode 100644
index 0000000..04b52c6
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/error/start.jsp
@@ -0,0 +1,28 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String key = (String)request.getAttribute("liferay-ui:error:key");
+String message = (String)request.getAttribute("liferay-ui:error:message");
+%>
+
+<c:if test="<%= (key != null) && Validator.isNull(message) %>">
+	<c:if test="<%= SessionErrors.contains(portletRequest, key) %>">
+		<div class="alert alert-error">
+	</c:if>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/flags/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/flags/page.jsp
new file mode 100644
index 0000000..7f9fb57
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/flags/page.jsp
@@ -0,0 +1,115 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String randomNamespace = StringUtil.randomId() + StringPool.UNDERLINE;
+
+String className = (String)request.getAttribute("liferay-ui:flags:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:flags:classPK"));
+String contentTitle = GetterUtil.getString((String)request.getAttribute("liferay-ui:flags:contentTitle"));
+boolean label = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:flags:label"), true);
+String message = GetterUtil.getString((String)request.getAttribute("liferay-ui:flags:message"), "flag[action]");
+long reportedUserId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:flags:reportedUserId"));
+%>
+
+<div class="taglib-flags" title="<liferay-ui:message key='<%= !TrashUtil.isInTrash(className, classPK) ? message : "flags-are-disabled-because-this-entry-is-in-the-recycle-bin" %>' />">
+	<liferay-ui:icon
+		cssClass="<%= randomNamespace %>"
+		image="../ratings/flagged_icon"
+		imageHover='<%= !TrashUtil.isInTrash(className, classPK) ? "../ratings/flagged_icon_hover" : StringPool.BLANK %>'
+		label="<%= label %>"
+		message="<%= message %>"
+		url='<%= !TrashUtil.isInTrash(className, classPK) ? "javascript:;" : null %>'
+	/>
+</div>
+
+<c:if test="<%= !TrashUtil.isInTrash(className, classPK) %>">
+	<c:choose>
+		<c:when test="<%= PropsValues.FLAGS_GUEST_USERS_ENABLED || themeDisplay.isSignedIn() %>">
+			<aui:script use="aui-io-plugin-deprecated,aui-modal">
+				var icon = A.one('.<%= randomNamespace %>');
+
+				if (icon) {
+					icon.on(
+						'click',
+						function() {
+							var popup = Liferay.Util.Window.getWindow(
+								{
+									dialog: {
+										destroyOnHide: true,
+										height: 300,
+										width: 400
+									},
+									title: '<%= UnicodeLanguageUtil.get(pageContext, "report-inappropriate-content") %>'
+								}
+							);
+
+							var data = Liferay.Util.ns(
+								'<%= PortalUtil.getPortletNamespace(PortletKeys.FLAGS) %>',
+								{
+									className: '<%= className %>',
+									classPK: '<%= classPK %>',
+									contentTitle: '<%= HtmlUtil.escapeJS(contentTitle) %>',
+									contentURL: '<%= HtmlUtil.escapeJS(PortalUtil.getPortalURL(request) + currentURL) %>',
+									reportedUserId: '<%= reportedUserId %>'
+								}
+							);
+
+							popup.plug(
+								A.Plugin.IO, {
+									data: data,
+									uri: '<liferay-portlet:renderURL portletName="<%= PortletKeys.FLAGS %>" windowState="<%= LiferayWindowState.EXCLUSIVE.toString() %>"><portlet:param name="struts_action" value="/flags/edit_entry" /></liferay-portlet:renderURL>'
+								}
+							);
+						}
+					);
+				}
+			</aui:script>
+		</c:when>
+		<c:otherwise>
+			<div id="<%= randomNamespace %>signIn" style="display:none">
+				<liferay-ui:message key="please-sign-in-to-flag-this-as-inappropriate" />
+			</div>
+
+			<aui:script use="aui-modal">
+				var icon = A.one('.<%= randomNamespace %>');
+
+				if (icon) {
+					icon.on(
+						'click',
+						function(event) {
+							var popup = Liferay.Util.Window.getWindow(
+								{
+									dialog: {
+										bodyContent: A.one('#<%= randomNamespace %>signIn').html(),
+										destroyOnHide: true,
+										height: 300,
+										width: 400
+									},
+									title: '<%= UnicodeLanguageUtil.get(pageContext, "report-inappropriate-content") %>'
+								}
+							);
+
+							event.preventDefault();
+						}
+					);
+				}
+			</aui:script>
+		</c:otherwise>
+	</c:choose>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/flash/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/flash/page.jsp
new file mode 100644
index 0000000..7b9319b
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/flash/page.jsp
@@ -0,0 +1,72 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String randomNamespace = StringUtil.randomId() + StringPool.UNDERLINE;
+
+String allowFullScreen = (String)request.getAttribute("liferay-ui:flash:allowFullScreen");
+String allowScriptAccess = (String)request.getAttribute("liferay-ui:flash:allowScriptAccess");
+String base = (String)request.getAttribute("liferay-ui:flash:base");
+String bgcolor = (String)request.getAttribute("liferay-ui:flash:bgcolor");
+String devicefont = (String)request.getAttribute("liferay-ui:flash:devicefont");
+String flashvars = (String)request.getAttribute("liferay-ui:flash:flashvars");
+String height = (String)request.getAttribute("liferay-ui:flash:height");
+String id = (String)request.getAttribute("liferay-ui:flash:id");
+String loop = (String)request.getAttribute("liferay-ui:flash:loop");
+String menu = (String)request.getAttribute("liferay-ui:flash:menu");
+String movie = (String)request.getAttribute("liferay-ui:flash:movie");
+String play = (String)request.getAttribute("liferay-ui:flash:play");
+String quality = (String)request.getAttribute("liferay-ui:flash:quality");
+String salign = (String)request.getAttribute("liferay-ui:flash:salign");
+String scale = (String)request.getAttribute("liferay-ui:flash:scale");
+String swliveconnect = (String)request.getAttribute("liferay-ui:flash:swliveconnect");
+String version = (String)request.getAttribute("liferay-ui:flash:version");
+String width = (String)request.getAttribute("liferay-ui:flash:width");
+String wmode = (String)request.getAttribute("liferay-ui:flash:wmode");
+%>
+
+<div id="<%= randomNamespace %>flashcontent" style="height: <%= height %>; width: <%= width %>;"></div>
+
+<aui:script use="aui-swf-deprecated">
+	new A.SWF(
+		{
+			boundingBox: '#<%= randomNamespace %>flashcontent',
+			fixedAttributes: {
+				allowFullScreen: '<%= allowFullScreen %>',
+				allowScriptAccess: '<%= allowScriptAccess %>',
+				base: '<%= base %>',
+				bgcolor: '<%= bgcolor %>',
+				devicefont: '<%= devicefont %>',
+				loop: '<%= loop %>',
+				menu: '<%= menu %>',
+				play: '<%= play %>',
+				quality: '<%= quality %>',
+				salign: '<%= salign %>',
+				scale: '<%= scale %>',
+				swliveconnect: '<%= swliveconnect %>',
+				wmode: '<%= wmode %>'
+			},
+			flashVars: '<%= flashvars %>',
+			height: '<%= height %>',
+			id: '<%= id %>',
+			url: '<%= movie %>',
+			version: <%= version %>,
+			width: '<%= width %>'
+		}
+	).render();
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/form_navigator/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/form_navigator/page.jsp
new file mode 100644
index 0000000..49fadab
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/form_navigator/page.jsp
@@ -0,0 +1,348 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<portlet:defineObjects />
+
+<%
+String backURL = (String)request.getAttribute("liferay-ui:form-navigator:backURL");
+String[][] categorySections = (String[][])request.getAttribute("liferay-ui:form-navigator:categorySections");
+String[] categoryNames = (String[])request.getAttribute("liferay-ui:form-navigator:categoryNames");
+String displayStyle = (String)request.getAttribute("liferay-ui:form-navigator:displayStyle");
+String formName = GetterUtil.getString((String)request.getAttribute("liferay-ui:form-navigator:formName"));
+String htmlBottom = (String)request.getAttribute("liferay-ui:form-navigator:htmlBottom");
+String htmlTop = (String)request.getAttribute("liferay-ui:form-navigator:htmlTop");
+String jspPath = (String)request.getAttribute("liferay-ui:form-navigator:jspPath");
+boolean showButtons = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:form-navigator:showButtons"));
+
+if (Validator.isNull(backURL)) {
+	String redirect = ParamUtil.getString(request, "redirect");
+
+	backURL = redirect;
+}
+
+if (Validator.isNull(backURL)) {
+	PortletURL portletURL = liferayPortletResponse.createRenderURL();
+
+	backURL = portletURL.toString();
+}
+
+String[] allSections = new String[0];
+
+for (String[] categorySection : categorySections) {
+	allSections = ArrayUtil.append(allSections, categorySection);
+}
+
+String curSection = StringPool.BLANK;
+
+if (categorySections[0].length > 0) {
+	curSection = categorySections[0][0];
+}
+
+String historyKey = ParamUtil.getString(request, "historyKey");
+
+if (Validator.isNotNull(historyKey)) {
+	curSection = historyKey;
+}
+%>
+
+<div class="taglib-form-navigator" id="<portlet:namespace />tabsBoundingBox">
+	<aui:input name="modifiedSections" type="hidden" />
+
+	<c:choose>
+		<c:when test='<%= displayStyle.equals("panel") %>'>
+			<liferay-ui:panel-container accordion="<%= true %>" extended="<%= true %>" id="tabs" persistState="<%= true %>">
+				<%@ include file="/html/taglib/ui/form_navigator/sections.jspf" %>
+			</liferay-ui:panel-container>
+
+			<aui:button-row>
+				<aui:button cssClass="btn-primary pull-right" type="submit" />
+			</aui:button-row>
+		</c:when>
+		<c:otherwise>
+			<div class="taglib-form-navigator row-fluid" id="<portlet:namespace />tabs">
+				<liferay-util:buffer var="formSectionsBuffer">
+					<div class="form-navigator-content span8">
+						<%@ include file="/html/taglib/ui/form_navigator/sections.jspf" %>
+					</div>
+				</liferay-util:buffer>
+
+				<ul class="form-navigator nav nav-list span4 well">
+					<%= Validator.isNotNull(htmlTop) ? htmlTop : StringPool.BLANK %>
+
+					<%
+					String[] modifiedSections = StringUtil.split(ParamUtil.getString(request, "modifiedSections"));
+
+					String errorSection = (String)request.getAttribute("errorSection");
+
+					if (Validator.isNull(errorSection)) {
+						modifiedSections = null;
+					}
+
+					boolean error = false;
+
+					for (int i = 0; i < categoryNames.length; i++) {
+						String category = categoryNames[i];
+						String[] sections = categorySections[i];
+
+						if (sections.length > 0) {
+					%>
+
+							<c:if test="<%= Validator.isNotNull(category) %>">
+								<li class="nav-header"><liferay-ui:message key="<%= category %>" /></li>
+							</c:if>
+
+							<%
+							if (Validator.isNotNull(errorSection)) {
+								curSection = StringPool.BLANK;
+
+								error = true;
+							}
+
+							for (String section : sections) {
+								String sectionId = namespace + _getSectionId(section);
+
+								Boolean show = (Boolean)request.getAttribute(WebKeys.FORM_NAVIGATOR_SECTION_SHOW + sectionId);
+
+								if ((show != null) && !show.booleanValue()) {
+									continue;
+								}
+
+								String cssClass = StringPool.BLANK;
+
+								if (sectionId.equals(namespace + errorSection)) {
+									cssClass += "section-error";
+
+									curSection = section;
+								}
+
+								if (curSection.equals(section) || curSection.equals(sectionId)) {
+									cssClass += " active";
+								}
+
+								if (ArrayUtil.contains(modifiedSections, sectionId)) {
+									cssClass += " section-modified";
+								}
+							%>
+
+								<li class="<%= cssClass %>" data-sectionId="<%= sectionId %>" id="<%= sectionId %>Tab">
+									<a href="#<%= sectionId %>" id="<%= sectionId %>Link">
+										<span class="badge badge-important error-notice">!</span>
+
+										<liferay-ui:message key="<%= section %>" />
+
+										<span class="modified-notice"> (<liferay-ui:message key="modified" />) </span>
+									</a>
+								</li>
+
+							<%
+							}
+							%>
+
+					<%
+						}
+					}
+					%>
+
+					<c:if test="<%= showButtons %>">
+						<aui:button-row>
+							<aui:button primary="<%= true %>" type="submit" />
+
+							<aui:button href="<%= backURL %>" type="cancel" />
+						</aui:button-row>
+					</c:if>
+
+					<%= Validator.isNotNull(htmlBottom) ? htmlBottom : StringPool.BLANK %>
+				</ul>
+
+				<%= formSectionsBuffer %>
+			</div>
+
+			<aui:script use="aui-event-input,aui-tabview,aui-url,history,io-form">
+				var formNode = A.one('#<portlet:namespace /><%= formName %>');
+
+				var tabview = new A.TabView(
+					{
+						boundingBox: '#<portlet:namespace />tabsBoundingBox',
+						srcNode: '#<portlet:namespace />tabs',
+						type: 'list'
+					}
+				).render();
+
+				var history = new A.HistoryHash();
+
+				function selectTabBySectionId(sectionId) {
+					var instance = this;
+
+					var tab = A.Widget.getByNode('#' + sectionId + 'Tab');
+
+					var tabIndex = tabview.indexOf(tab);
+
+					if (tab && (tabIndex > -1)) {
+						tabview.selectChild(tabIndex);
+					}
+
+					updateRedirectForSectionId(sectionId);
+
+					Liferay.fire('formNavigator:reveal' + sectionId);
+				};
+
+				function updateSectionError() {
+					var tabNode = tabview.get('selection').get('boundingBox');
+
+					var sectionId = tabNode.getData('sectionId');
+
+					tabNode.toggleClass(
+						'section-error',
+						A.one('#' + sectionId).one('.error-field')
+					);
+				}
+
+				function updateSectionStatus() {
+					var tabNode = tabview.get('selection').get('boundingBox');
+
+					var sectionId = tabNode.getData('sectionId');
+
+					var modifiedSectionsNode = A.one('#<portlet:namespace/>modifiedSections');
+
+					var modifiedSections = modifiedSectionsNode.val().split(',');
+
+					modifiedSections.push(sectionId);
+					modifiedSections = A.Array.dedupe(modifiedSections);
+					modifiedSectionsNode.val(modifiedSections.join());
+
+					tabNode.addClass('section-modified');
+				}
+
+				function updateRedirectForSectionId(sectionId) {
+					var redirect = A.one('#<portlet:namespace />redirect');
+
+					if (redirect) {
+						var url = new A.Url(redirect.val() || location.href);
+
+						url.setAnchor(null);
+						url.setParameter('<portlet:namespace />historyKey', sectionId);
+
+						redirect.val(url.toString());
+					}
+				}
+
+				tabview.after(
+					'selectionChange',
+					function(event) {
+						var tab = event.newVal
+
+						var boundingBox = tab.get('boundingBox');
+
+						var sectionId = boundingBox.getData('sectionId');
+
+						history.addValue('<portlet:namespace />tab', sectionId);
+					}
+				);
+
+				A.on(
+					'history:change',
+					function(event) {
+						var state = event.newVal;
+
+						var changed = event.changed.<portlet:namespace />tab;
+
+						var removed = event.removed.<portlet:namespace />tab;
+
+						if (event.src === A.HistoryHash.SRC_HASH || event.src === A.HistoryBase.SRC_ADD) {
+							if (changed) {
+								selectTabBySectionId(changed.newVal);
+							}
+							else if (removed) {
+								tabview.selectChild(0);
+							}
+							else if (state) {
+								var sectionId = state.<portlet:namespace />tab;
+
+								if (!sectionId) {
+									sectionId = '<portlet:namespace />' + state.tab;
+								}
+
+								selectTabBySectionId(sectionId);
+							}
+						}
+					}
+				);
+
+				var currentUrl = new A.Url(location.href);
+
+				var currentAnchor = currentUrl.getAnchor();
+
+				if (!currentAnchor) {
+					currentAnchor = currentUrl.getParameter('<portlet:namespace />historyKey');
+				}
+
+				if (currentAnchor) {
+					var locationSectionId = currentAnchor.substring(currentAnchor.indexOf('=') + 1);
+
+					if (locationSectionId.indexOf('<portlet:namespace />') === -1) {
+						locationSectionId = '<portlet:namespace />' + locationSectionId;
+					}
+
+					selectTabBySectionId(locationSectionId);
+				}
+
+				if (<%= error %>) {
+					Liferay.fire('formNavigator:reveal<portlet:namespace /><%= errorSection %>');
+				}
+
+				if (formNode) {
+
+					<%
+					String focusField = (String)request.getAttribute("liferay-ui:error:focusField");
+					%>
+
+					<c:choose>
+						<c:when test="<%= Validator.isNotNull(focusField) %>">
+							var focusField = formNode.one('#<portlet:namespace /><%= focusField %>');
+						</c:when>
+						<c:otherwise>
+							var focusField = formNode.one('.form-section.active input:not([type="hidden"]).field');
+						</c:otherwise>
+					</c:choose>
+
+					if (focusField) {
+						Liferay.Util.focusFormField(focusField);
+					}
+
+					formNode.all('.modify-link').on('click', updateSectionStatus);
+
+					formNode.delegate('change', updateSectionStatus, 'input, select, textarea');
+
+					formNode.on('blur', updateSectionError, 'input, select, textarea');
+
+					formNode.on('autofields:update', updateSectionError);
+				}
+			</aui:script>
+		</c:otherwise>
+	</c:choose>
+</div>
+
+<%!
+private String _getSectionId(String name) {
+	return TextFormatter.format(name, TextFormatter.M);
+}
+
+private String _getSectionJsp(String name) {
+	return TextFormatter.format(name, TextFormatter.N);
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/form_navigator/sections.jspf b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/form_navigator/sections.jspf
new file mode 100644
index 0000000..8f21990
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/form_navigator/sections.jspf
@@ -0,0 +1,44 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%
+for (int i = 0; i < allSections.length; i++) {
+	String section = allSections[i];
+
+	String sectionId = namespace + _getSectionId(section);
+	String sectionJsp = jspPath + _getSectionJsp(section) + ".jsp";
+%>
+
+	<!-- Begin fragment <%= sectionId %> -->
+
+	<c:choose>
+		<c:when test='<%= displayStyle.equals("panel") %>'>
+			<liferay-ui:panel cssClass="panel-page-category unstyled" defaultState='<%= i == 0 ? "open" : "closed" %>' extended="<%= true %>" id="<%= sectionId %>" title="<%= section %>">
+				<liferay-util:include page="<%= sectionJsp %>" portletId="<%= portletDisplay.getRootPortletId() %>" />
+			</liferay-ui:panel>
+		</c:when>
+		<c:otherwise>
+			<div class="form-section <%= (curSection.equals(section) || curSection.equals(sectionId)) ? "active" : StringPool.BLANK %>" id="<%= sectionId %>">
+				<liferay-util:include page="<%= sectionJsp %>" portletId="<%= portletDisplay.getRootPortletId() %>" />
+			</div>
+		</c:otherwise>
+	</c:choose>
+
+	<!-- End fragment <%= sectionId %> -->
+
+<%
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/group_search/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/group_search/start.jsp
new file mode 100644
index 0000000..8bfc72a
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/group_search/start.jsp
@@ -0,0 +1,50 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<portlet:defineObjects />
+
+<%
+PortletURL portletURL = (PortletURL)request.getAttribute("liferay-ui:group-search:portletURL");
+RowChecker rowChecker = (RowChecker)request.getAttribute("liferay-ui:group-search:rowChecker");
+LinkedHashMap<String, Object> groupParams = (LinkedHashMap<String, Object>)request.getAttribute("liferay-ui:group-search:groupParams");
+
+GroupSearch searchContainer = new GroupSearch(renderRequest, portletURL);
+
+request.setAttribute(WebKeys.SEARCH_CONTAINER, searchContainer);
+
+searchContainer.setRowChecker(rowChecker);
+%>
+
+<liferay-ui:search-form
+	page="/html/portlet/users_admin/group_search.jsp"
+	searchContainer="<%= searchContainer %>"
+/>
+
+<%
+GroupSearchTerms searchTerms = (GroupSearchTerms)searchContainer.getSearchTerms();
+
+List<Group> results = null;
+int total = 0;
+%>
+
+<%@ include file="/html/portlet/users_admin/group_search_results.jspf" %>
+
+<%
+searchContainer.setResults(results);
+searchContainer.setTotal(total);
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/header/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/header/init.jsp
new file mode 100644
index 0000000..2e1db3e
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/header/init.jsp
@@ -0,0 +1,27 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String backLabel = (String)request.getAttribute("liferay-ui:header:backLabel");
+String backURL = (String)request.getAttribute("liferay-ui:header:backURL");
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:header:cssClass"));
+boolean escapeXml = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:header:escapeXml"));
+boolean localizeTitle = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:header:localizeTitle"));
+boolean showBackURL = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:header:showBackURL"));
+String title = (String)request.getAttribute("liferay-ui:header:title");
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/header/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/header/page.jsp
new file mode 100644
index 0000000..363fc61
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/header/page.jsp
@@ -0,0 +1,61 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/header/init.jsp" %>
+
+<%
+if (Validator.isNull(backLabel)) {
+	backLabel = LanguageUtil.get(pageContext, "back");
+}
+
+if (Validator.isNotNull(backURL) && !backURL.equals("javascript:history.go(-1);")) {
+	backURL = HtmlUtil.escapeHREF(PortalUtil.escapeRedirect(backURL));
+}
+
+String headerTitle = (localizeTitle) ? LanguageUtil.get(pageContext, title) : title;
+%>
+
+<div class="taglib-header <%= cssClass %>">
+	<c:if test="<%= showBackURL && Validator.isNotNull(backURL) %>">
+		<span class="header-back-to">
+			<a class="icon-circle-arrow-left previous-level" href="<%= backURL %>" id="<%= namespace %>TabsBack" title="<%= HtmlUtil.escapeAttribute(backLabel) %>">
+				<span class="helper-hidden-accessible">
+					<c:choose>
+						<c:when test="<%= escapeXml %>">
+							<%= HtmlUtil.escape(backLabel) %>
+						</c:when>
+						<c:otherwise>
+							<%= backLabel %>
+						</c:otherwise>
+					</c:choose>
+				</span>
+			</a>
+		</span>
+	</c:if>
+
+	<h3 class="header-title">
+		<span>
+			<c:choose>
+				<c:when test="<%= escapeXml %>">
+					<%= HtmlUtil.escape(headerTitle) %>
+				</c:when>
+				<c:otherwise>
+					<%= headerTitle %>
+				</c:otherwise>
+			</c:choose>
+		</span>
+	</h3>
+</div>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/icon/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/icon/init.jsp
new file mode 100644
index 0000000..07cb3b6
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/icon/init.jsp
@@ -0,0 +1,148 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="java.net.URL" %>
+
+<%
+IntegerWrapper iconListIconCount = (IntegerWrapper)request.getAttribute("liferay-ui:icon-list:icon-count");
+
+if (iconListIconCount != null) {
+	iconListIconCount.increment();
+}
+
+boolean iconListShowWhenSingleIcon = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:icon-list:showWhenSingleIcon"));
+Boolean iconListSingleIcon = (Boolean)request.getAttribute("liferay-ui:icon-list:single-icon");
+
+IntegerWrapper iconMenuIconCount = (IntegerWrapper)request.getAttribute("liferay-ui:icon-menu:icon-count");
+
+if (iconMenuIconCount != null) {
+	iconMenuIconCount.increment();
+}
+
+boolean iconMenuShowWhenSingleIcon = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:icon-menu:showWhenSingleIcon"));
+Boolean iconMenuSingleIcon = (Boolean)request.getAttribute("liferay-ui:icon-menu:single-icon");
+
+String alt = (String)request.getAttribute("liferay-ui:icon:alt");
+String ariaRole = (String)request.getAttribute("liferay-ui:icon:ariaRole");
+String iconCssClass = (String)request.getAttribute("liferay-ui:icon:iconCssClass");
+String id = (String)request.getAttribute("liferay-ui:icon:id");
+String image = (String)request.getAttribute("liferay-ui:icon:image");
+String imageHover = (String)request.getAttribute("liferay-ui:icon:imageHover");
+String message = (String)request.getAttribute("liferay-ui:icon:message");
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:icon:cssClass"));
+Map<String, Object> data = (Map<String, Object>)request.getAttribute("liferay-ui:icon:data");
+boolean label = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:icon:label"));
+String lang = GetterUtil.getString((String)request.getAttribute("liferay-ui:icon:lang"));
+String linkCssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:icon:linkCssClass"));
+boolean localizeMessage = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:icon:localizeMessage"));
+String method = (String)request.getAttribute("liferay-ui:icon:method");
+String onClick = GetterUtil.getString((String)request.getAttribute("liferay-ui:icon:onClick"));
+String src = (String)request.getAttribute("liferay-ui:icon:src");
+String srcHover = (String)request.getAttribute("liferay-ui:icon:srcHover");
+boolean toolTip = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:icon:toolTip"));
+String target = GetterUtil.getString((String)request.getAttribute("liferay-ui:icon:target"));
+String url = GetterUtil.getString((String)request.getAttribute("liferay-ui:icon:url"));
+boolean useDialog = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:icon:useDialog"));
+
+if (data == null) {
+	data = new HashMap<String, Object>(1);
+}
+
+if ((iconListIconCount != null) || (iconListSingleIcon != null)) {
+	label = true;
+}
+
+if ((iconMenuIconCount != null) || (iconMenuSingleIcon != null)) {
+	label = true;
+}
+
+if (message == null) {
+	message = StringUtil.replace(image, StringPool.UNDERLINE, StringPool.DASH);
+	message = StringUtil.replace(message, "../aui/", StringPool.BLANK);
+}
+
+if (useDialog && Validator.isNull(data.get("title"))) {
+	data.put("title", HtmlUtil.stripHtml(localizeMessage ? LanguageUtil.get(pageContext, message) : message));
+}
+
+if (Validator.isNull(method)) {
+	method = "post";
+}
+
+boolean auiImage = (image != null) && image.startsWith(_AUI_PATH);
+
+if (Validator.isNull(src)) {
+	if (auiImage) {
+		src = themeDisplay.getPathThemeImages().concat("/spacer.png");
+	}
+	else if (Validator.isNotNull(image)) {
+		StringBundler sb = new StringBundler(4);
+
+		sb.append(themeDisplay.getPathThemeImages());
+		sb.append("/common/");
+		sb.append(image);
+		sb.append(".png");
+
+		src = StringUtil.replace(sb.toString(), "common/../", "");
+	}
+}
+
+if (Validator.isNull(srcHover) && Validator.isNotNull(imageHover)) {
+	StringBundler sb = new StringBundler(4);
+
+	sb.append(themeDisplay.getPathThemeImages());
+	sb.append("/common/");
+	sb.append(imageHover);
+	sb.append(".png");
+
+	srcHover = sb.toString();
+}
+
+String details = null;
+
+if (alt != null) {
+	details = " alt=\"" + LanguageUtil.get(pageContext, alt) + "\"";
+}
+else if (label) {
+	details = " alt=\"\"";
+}
+else {
+	StringBundler sb = new StringBundler(6);
+
+	sb.append(" alt=\"");
+	sb.append(LanguageUtil.get(pageContext, message));
+	sb.append("\"");
+
+	if (toolTip) {
+		sb.append(" onmouseover=\"Liferay.Portal.ToolTip.show(this, '");
+		sb.append(UnicodeLanguageUtil.get(pageContext, message));
+		sb.append("')\"");
+	}
+	else {
+		sb.append(" title=\"");
+		sb.append(LanguageUtil.get(pageContext, message));
+		sb.append("\"");
+	}
+
+	details = sb.toString();
+}
+%>
+
+<%!
+private static final String _AUI_PATH = "../aui/";
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/icon/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/icon/page.jsp
new file mode 100644
index 0000000..4886670
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/icon/page.jsp
@@ -0,0 +1,216 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/icon/init.jsp" %>
+
+<%
+if (Validator.isNotNull(src) && themeDisplay.isThemeImagesFastLoad() && !auiImage) {
+	SpriteImage spriteImage = null;
+	String spriteFileName = null;
+	String spriteFileURL = null;
+
+	String imageFileName = StringUtil.replace(src, "common/../", "");
+
+	if (imageFileName.contains(Http.PROTOCOL_DELIMITER)) {
+		String portalURL = PortalUtil.getPortalURL(request);
+
+		if (imageFileName.startsWith(portalURL)) {
+			imageFileName = imageFileName.substring(portalURL.length());
+		}
+		else {
+			URL imageURL = new URL(imageFileName);
+
+			imageFileName = imageURL.getPath();
+		}
+	}
+
+	String contextPath = theme.getContextPath();
+
+	String imagesPath = contextPath.concat(theme.getImagesPath());
+
+	if (imageFileName.startsWith(imagesPath)) {
+		spriteImage = theme.getSpriteImage(imageFileName);
+
+		if (spriteImage != null) {
+			spriteFileName = spriteImage.getSpriteFileName();
+
+			if (BrowserSnifferUtil.isIe(request) && (BrowserSnifferUtil.getMajorVersion(request) < 7)) {
+				spriteFileName = StringUtil.replace(spriteFileName, ".png", ".gif");
+			}
+
+			String cdnBaseURL = themeDisplay.getCDNBaseURL();
+
+			spriteFileURL = cdnBaseURL.concat(spriteFileName);
+		}
+	}
+
+	if (spriteImage == null) {
+		Portlet portlet = (Portlet)request.getAttribute("liferay-portlet:icon_portlet:portlet");
+
+		if (portlet == null) {
+			portlet = (Portlet)request.getAttribute(WebKeys.RENDER_PORTLET);
+		}
+
+		if (portlet != null) {
+			PortletApp portletApp = portlet.getPortletApp();
+
+			spriteImage = portletApp.getSpriteImage(imageFileName);
+
+			if (spriteImage != null) {
+				spriteFileName = spriteImage.getSpriteFileName();
+
+				if (BrowserSnifferUtil.isIe(request) && (BrowserSnifferUtil.getMajorVersion(request) < 7)) {
+					spriteFileName = StringUtil.replace(spriteFileName, ".png", ".gif");
+				}
+
+				String cdnBaseURL = themeDisplay.getCDNBaseURL();
+
+				spriteFileURL = cdnBaseURL.concat(spriteFileName);
+			}
+		}
+	}
+
+	if (spriteImage != null) {
+		String themeImagesPath = themeDisplay.getPathThemeImages();
+
+		src = themeImagesPath.concat("/spacer.png");
+
+		StringBundler sb = new StringBundler(10);
+
+		sb.append(details);
+		sb.append(" style=\"background-image: url('");
+		sb.append(spriteFileURL);
+		sb.append("'); background-position: 50% -");
+		sb.append(spriteImage.getOffset());
+		sb.append("px; background-repeat: no-repeat; height: ");
+		sb.append(spriteImage.getHeight());
+		sb.append("px; width: ");
+		sb.append(spriteImage.getWidth());
+		sb.append("px;\"");
+
+		details = sb.toString();
+	}
+}
+
+boolean urlIsNotNull = Validator.isNotNull(url);
+%>
+
+<liferay-util:buffer var="linkContent">
+	<c:choose>
+		<c:when test="<%= auiImage %>">
+			<aui:icon image="<%= image.substring(_AUI_PATH.length()) %>" />
+		</c:when>
+		<c:otherwise>
+			<c:choose>
+				<c:when test="<%= Validator.isNotNull(src) %>">
+					<c:choose>
+						<c:when test="<%= Validator.isNotNull(id) %>">
+							<img id="<%= id %>" src="<%= src %>" <%= details %> />
+						</c:when>
+						<c:otherwise>
+							<img src="<%= src %>" <%= details %> />
+						</c:otherwise>
+					</c:choose>
+				</c:when>
+				<c:otherwise>
+					<c:if test="<%= Validator.isNotNull(iconCssClass) %>">
+						<i class="<%= iconCssClass %>"></i>
+					</c:if>
+				</c:otherwise>
+			</c:choose>
+		</c:otherwise>
+	</c:choose>
+
+	<c:choose>
+		<c:when test="<%= (iconMenuIconCount != null) && ((iconMenuSingleIcon == null) || iconMenuShowWhenSingleIcon) %>">
+			<span class="taglib-text-icon"><liferay-ui:message key="<%= message %>" localizeKey="<%= localizeMessage %>" /></span>
+		</c:when>
+		<c:otherwise>
+			<span class="taglib-text <%= label ? StringPool.BLANK : "hide-accessible" %>"><liferay-ui:message key="<%= message %>" localizeKey="<%= localizeMessage %>" /></span>
+		</c:otherwise>
+	</c:choose>
+</liferay-util:buffer>
+
+<c:choose>
+	<c:when test="<%= (iconListIconCount != null) && ((iconListSingleIcon == null) || iconListShowWhenSingleIcon) %>">
+		<li class="<%= cssClass %>" role="presentation">
+			<c:choose>
+				<c:when test="<%= urlIsNotNull %>">
+					<aui:a ariaRole="menuitem" cssClass='<%= linkCssClass + " taglib-icon" %>' data="<%= data %>" href="<%= url %>" id="<%= id %>" lang="<%= lang %>" target="<%= target %>">
+						<%= linkContent %>
+					</aui:a>
+				</c:when>
+				<c:otherwise>
+					<%= linkContent %>
+				</c:otherwise>
+			</c:choose>
+		</li>
+	</c:when>
+	<c:when test="<%= (iconMenuIconCount != null) && ((iconMenuSingleIcon == null) || iconMenuShowWhenSingleIcon) %>">
+		<li class="<%= cssClass %>" role="presentation">
+			<c:choose>
+				<c:when test="<%= urlIsNotNull %>">
+					<aui:a ariaRole="menuitem" cssClass='<%= linkCssClass + " taglib-icon" %>' data="<%= data %>" href="<%= url %>" id="<%= id %>" lang="<%= lang %>" onClick='<%= Validator.isNotNull(onClick) ? onClick : "" %>' target="<%= target %>">
+						<%= linkContent %>
+					</aui:a>
+				</c:when>
+				<c:otherwise>
+					<span class="taglib-icon"><%= linkContent %></span>
+				</c:otherwise>
+			</c:choose>
+		</li>
+	</c:when>
+	<c:otherwise>
+		<span class="<%= cssClass %>"
+			<c:if test="<%= !label && Validator.isNotNull(message) %>">
+				onmouseover="Liferay.Portal.ToolTip.show(this, '<liferay-ui:message key="<%= HtmlUtil.escapeJS(message) %>" />')"
+			</c:if>
+		>
+			<c:choose>
+				<c:when test="<%= urlIsNotNull %>">
+					<aui:a ariaRole="<%= ariaRole %>" cssClass='<%= linkCssClass + " taglib-icon" %>' data="<%= data %>" href="<%= url %>" id="<%= id %>" lang="<%= lang %>" onClick='<%= Validator.isNotNull(onClick) ? onClick : "" %>' target="<%= target %>">
+						<%= linkContent %>
+					</aui:a>
+				</c:when>
+				<c:otherwise>
+					<%= linkContent %>
+				</c:otherwise>
+			</c:choose>
+		</span>
+	</c:otherwise>
+</c:choose>
+
+<%
+boolean forcePost = method.equals("post") && (url.startsWith(Http.HTTP_WITH_SLASH) || url.startsWith(Http.HTTPS_WITH_SLASH));
+%>
+
+<c:if test="<%= Validator.isNotNull(srcHover) || forcePost || useDialog %>">
+	<aui:script use="liferay-icon">
+		Liferay.Icon.register(
+			{
+				forcePost: <%= forcePost %>,
+				id: '<portlet:namespace /><%= id %>'
+
+				<c:if test="<%= Validator.isNotNull(srcHover) %>">
+					, src: '<%= src %>',
+					srcHover: '<%= srcHover %>'
+				</c:if>
+
+				, useDialog: <%= useDialog %>
+			}
+		);
+	</aui:script>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_asset_links/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_asset_links/init.jsp
new file mode 100644
index 0000000..0ce1cff
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_asset_links/init.jsp
@@ -0,0 +1,21 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portal.kernel.util.FriendlyURLNormalizerUtil" %><%@
+page import="com.liferay.portlet.asset.model.AssetLink" %><%@
+page import="com.liferay.portlet.asset.service.AssetLinkLocalServiceUtil" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_asset_links/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_asset_links/page.jsp
new file mode 100644
index 0000000..f110e5a
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_asset_links/page.jsp
@@ -0,0 +1,261 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/input_asset_links/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_input_asset_links_page") + StringPool.UNDERLINE;
+
+String eventName = randomNamespace + "selectAsset";
+
+long assetEntryId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:input-asset-links:assetEntryId"));
+String className = (String)request.getAttribute("liferay-ui:input-asset-links:className");
+
+List<AssetLink> assetLinks = new ArrayList<AssetLink>();
+
+String assetLinksSearchContainerPrimaryKeys = ParamUtil.getString(request, "assetLinksSearchContainerPrimaryKeys");
+
+if (Validator.isNull(assetLinksSearchContainerPrimaryKeys) && SessionErrors.isEmpty(portletRequest) && (assetEntryId > 0)) {
+	List<AssetLink> directAssetLinks = AssetLinkLocalServiceUtil.getDirectLinks(assetEntryId);
+
+	for (AssetLink assetLink : directAssetLinks) {
+		AssetEntry assetLinkEntry = null;
+
+		if ((assetEntryId > 0) || (assetLink.getEntryId1() == assetEntryId)) {
+			assetLinkEntry = AssetEntryLocalServiceUtil.getEntry(assetLink.getEntryId2());
+		}
+		else {
+			assetLinkEntry = AssetEntryLocalServiceUtil.getEntry(assetLink.getEntryId1());
+		}
+
+		AssetRendererFactory assetRendererFactory = AssetRendererFactoryRegistryUtil.getAssetRendererFactoryByClassName(assetLinkEntry.getClassName());
+
+		if (assetRendererFactory.isActive(company.getCompanyId())) {
+			assetLinks.add(assetLink);
+		}
+	}
+}
+else {
+	String[] assetEntriesPrimaryKeys = StringUtil.split(assetLinksSearchContainerPrimaryKeys);
+
+	for (String assetEntryPrimaryKey : assetEntriesPrimaryKeys) {
+		long assetEntryPrimaryKeyLong = GetterUtil.getLong(assetEntryPrimaryKey);
+
+		AssetEntry assetEntry = AssetEntryServiceUtil.getEntry(assetEntryPrimaryKeyLong);
+
+		AssetLink assetLink = AssetLinkLocalServiceUtil.createAssetLink(0);
+
+		if (assetEntryId > 0) {
+			assetLink.setEntryId1(assetEntryId);
+		}
+		else {
+			assetLink.setEntryId1(0);
+		}
+
+		assetLink.setEntryId2(assetEntry.getEntryId());
+
+		assetLinks.add(assetLink);
+	}
+}
+
+long controlPanelPlid = PortalUtil.getControlPanelPlid(company.getCompanyId());
+
+Group scopeGroup = GroupLocalServiceUtil.getGroup(scopeGroupId);
+
+boolean stagedLocally = scopeGroup.isStaged() && !scopeGroup.isStagedRemotely();
+boolean stagedReferrerPortlet = false;
+
+if (stagedLocally) {
+	AssetRendererFactory referrerAssetRendererFactory = AssetRendererFactoryRegistryUtil.getAssetRendererFactoryByClassName(className);
+
+	stagedReferrerPortlet = scopeGroup.isStagedPortlet(referrerAssetRendererFactory.getPortletId());
+}
+
+PortletURL assetBrowserURL = PortletURLFactoryUtil.create(request, PortletKeys.ASSET_BROWSER, controlPanelPlid, PortletRequest.RENDER_PHASE);
+
+assetBrowserURL.setParameter("struts_action", "/asset_browser/view");
+assetBrowserURL.setParameter("eventName", eventName);
+assetBrowserURL.setPortletMode(PortletMode.VIEW);
+assetBrowserURL.setWindowState(LiferayWindowState.POP_UP);
+%>
+
+<liferay-ui:icon-menu cssClass="select-existing-selector" icon='<%= themeDisplay.getPathThemeImages() + "/common/search.png" %>' id='<%= randomNamespace + "inputAssetLinks" %>' message="select" showWhenSingleIcon="<%= true %>">
+
+	<%
+	for (AssetRendererFactory assetRendererFactory : AssetRendererFactoryRegistryUtil.getAssetRendererFactories(company.getCompanyId())) {
+		if (assetRendererFactory.isLinkable() && assetRendererFactory.isSelectable()) {
+			if (assetEntryId > 0) {
+				assetBrowserURL.setParameter("refererAssetEntryId", String.valueOf(assetEntryId));
+			}
+
+			long groupId = scopeGroupId;
+
+			if (stagedLocally) {
+				boolean stagedReferencePortlet = scopeGroup.isStagedPortlet(assetRendererFactory.getPortletId());
+
+				if (stagedReferrerPortlet && !stagedReferencePortlet) {
+					groupId = scopeGroup.getLiveGroupId();
+				}
+			}
+
+			assetBrowserURL.setParameter("groupId", String.valueOf(groupId));
+			assetBrowserURL.setParameter("selectedGroupIds", themeDisplay.getCompanyGroupId() + "," + groupId);
+			assetBrowserURL.setParameter("typeSelection", assetRendererFactory.getClassName());
+
+			Map<String, Object> data = new HashMap<String, Object>();
+
+			data.put("href", assetBrowserURL.toString());
+			data.put("title", LanguageUtil.format(pageContext, "select-x", assetRendererFactory.getTypeName(locale, false)));
+
+			String type = assetRendererFactory.getTypeName(locale, false);
+
+			data.put("type", assetRendererFactory.getClassName());
+		%>
+
+			<liferay-ui:icon
+				cssClass="asset-selector"
+				data="<%= data %>"
+				id="<%= FriendlyURLNormalizerUtil.normalize(type) %>"
+				message="<%= assetRendererFactory.getTypeName(locale, false) %>"
+				src="<%= assetRendererFactory.getIconPath(portletRequest) %>"
+				url="javascript:;"
+			/>
+
+		<%
+		}
+	}
+	%>
+
+</liferay-ui:icon-menu>
+
+<br />
+
+<div class="separator"><!-- --></div>
+
+<liferay-util:buffer var="removeLinkIcon">
+	<liferay-ui:icon
+		image="unlink"
+		label="<%= true %>"
+		message="remove"
+	/>
+</liferay-util:buffer>
+
+<liferay-ui:search-container
+	headerNames="type,title,scope,null"
+>
+	<liferay-ui:search-container-results
+		results="<%= assetLinks %>"
+		total="<%= assetLinks.size() %>"
+	/>
+
+	<liferay-ui:search-container-row
+		className="com.liferay.portlet.asset.model.AssetLink"
+		keyProperty="entryId2"
+		modelVar="assetLink"
+	>
+
+		<%
+		AssetEntry assetLinkEntry = null;
+
+		if ((assetEntryId > 0) || (assetLink.getEntryId1() == assetEntryId)) {
+			assetLinkEntry = AssetEntryLocalServiceUtil.getEntry(assetLink.getEntryId2());
+		}
+		else {
+			assetLinkEntry = AssetEntryLocalServiceUtil.getEntry(assetLink.getEntryId1());
+		}
+
+		assetLinkEntry = assetLinkEntry.toEscapedModel();
+
+		AssetRendererFactory assetRendererFactory = assetLinkEntry.getAssetRendererFactory();
+
+		Group assetLinkEntryGroup = GroupLocalServiceUtil.getGroup(assetLinkEntry.getGroupId());
+		%>
+
+		<liferay-ui:search-container-column-text
+			name="type"
+			value="<%= assetRendererFactory.getTypeName(locale, false) %>"
+		/>
+
+		<liferay-ui:search-container-column-text
+			name="title"
+			value="<%= assetLinkEntry.getTitle(locale) %>"
+		/>
+
+		<liferay-ui:search-container-column-text
+			name="scope"
+			value="<%= HtmlUtil.escape(assetLinkEntryGroup.getDescriptiveName(locale)) %>"
+		/>
+
+		<liferay-ui:search-container-column-text>
+			<a class="modify-link" data-rowId="<%= assetLinkEntry.getEntryId() %>" href="javascript:;"><%= removeLinkIcon %></a>
+		</liferay-ui:search-container-column-text>
+	</liferay-ui:search-container-row>
+
+	<liferay-ui:search-iterator paginate="<%= false %>" />
+</liferay-ui:search-container>
+
+<aui:input name="assetLinkEntryIds" type="hidden" />
+
+<aui:script use="aui-base,escape,liferay-search-container">
+	A.getBody().delegate(
+		'click',
+		function(event) {
+			event.preventDefault();
+
+			Liferay.Util.selectEntity(
+				{
+					dialog: {
+						constrain: true,
+						modal: true,
+						width: 900
+					},
+					eventName: '<%= eventName %>',
+					id: '<%= eventName %>' + event.currentTarget.attr('id'),
+					title: event.currentTarget.attr('data-title'),
+					uri: event.currentTarget.attr('data-href')
+				},
+				function(event) {
+					var searchContainerName = '<%= portletResponse.getNamespace() %>assetLinksSearchContainer';
+
+					searchContainer = Liferay.SearchContainer.get(searchContainerName);
+
+					var entryLink = '<a class="modify-link" data-rowId="' + event.assetentryid + '" href="javascript:;"><%= UnicodeFormatter.toString(removeLinkIcon) %></a>';
+
+					searchContainer.addRow([event.assettype, A.Escape.html(event.assettitle), A.Escape.html(event.groupdescriptivename), entryLink], event.assetentryid);
+
+					searchContainer.updateDataStore();
+				}
+			);
+		},
+		'.asset-selector a'
+	);
+</aui:script>
+
+<aui:script use="liferay-search-container">
+	var searchContainer = Liferay.SearchContainer.get('<%= portletResponse.getNamespace() %>assetLinksSearchContainer');
+
+	searchContainer.get('contentBox').delegate(
+		'click',
+		function(event) {
+			var link = event.currentTarget;
+
+			var tr = link.ancestor('tr');
+
+			searchContainer.deleteRow(tr, link.getAttribute('data-rowId'));
+		},
+		'.modify-link'
+	);
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_checkbox/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_checkbox/page.jsp
new file mode 100644
index 0000000..21f630c
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_checkbox/page.jsp
@@ -0,0 +1,36 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-checkbox:cssClass"));
+String param = (String)request.getAttribute("liferay-ui:input-checkbox:param");
+String id = (String)request.getAttribute("liferay-ui:input-checkbox:id");
+Boolean defaultValue = (Boolean)request.getAttribute("liferay-ui:input-checkbox:defaultValue");
+String onClick = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-checkbox:onClick"));
+boolean disabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-checkbox:disabled"));
+
+boolean value = ParamUtil.getBoolean(request, param, defaultValue.booleanValue());
+
+if (Validator.isNull(id)) {
+	id = namespace + param;
+}
+%>
+
+<input id="<%= id %>" name="<%= namespace %><%= param %>" type="hidden" value="<%= value %>" />
+
+<input <%= value ? "checked" : "" %> class="<%= cssClass %>" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= id %>Checkbox" name="<%= namespace %><%= param %>Checkbox" type="checkbox" onClick="Liferay.Util.updateCheckboxValue(this); <%= onClick %>" />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_date/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_date/page.jsp
new file mode 100644
index 0000000..68d8299
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_date/page.jsp
@@ -0,0 +1,156 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_input_date_page") + StringPool.UNDERLINE;
+
+if (GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-date:disableNamespace"))) {
+	namespace = StringPool.BLANK;
+}
+
+boolean autoFocus = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-date:autoFocus"));
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-date:cssClass"));
+boolean disabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-date:disabled"));
+String dayParam = namespace + request.getAttribute("liferay-ui:input-date:dayParam");
+String dayParamId = namespace + request.getAttribute("liferay-ui:input-date:dayParamId");
+int dayValue = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:input-date:dayValue"));
+int firstDayOfWeek = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:input-date:firstDayOfWeek"));
+String monthAndYearParam = namespace + request.getAttribute("liferay-ui:input-date:monthAndYearParam");
+String monthParam = namespace + request.getAttribute("liferay-ui:input-date:monthParam");
+String monthParamId = namespace + request.getAttribute("liferay-ui:input-date:monthParamId");
+int monthValue = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:input-date:monthValue"));
+String name = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-date:name"));
+String yearParam = namespace + request.getAttribute("liferay-ui:input-date:yearParam");
+String yearParamId = namespace + request.getAttribute("liferay-ui:input-date:yearParamId");
+int yearValue = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:input-date:yearValue"));
+
+Calendar calendar = CalendarFactoryUtil.getCalendar(yearValue, monthValue, dayValue);
+
+String mask = _MASK_MDY;
+String simpleDateFormatPattern = _SIMPLE_DATE_FORMAT_PATTERN_MDY;
+
+if (BrowserSnifferUtil.isMobile(request)) {
+	simpleDateFormatPattern = _SIMPLE_DATE_FORMAT_PATTERN_HTML5;
+}
+else {
+	DateFormat shortDateFormat = DateFormat.getDateInstance(DateFormat.SHORT, locale);
+
+	SimpleDateFormat shortDateFormatSimpleDateFormat = (SimpleDateFormat)shortDateFormat;
+
+	String shortDateFormatSimpleDateFormatPattern = shortDateFormatSimpleDateFormat.toPattern();
+
+	if (shortDateFormatSimpleDateFormatPattern.indexOf("y") == 0) {
+		mask = _MASK_YMD;
+		simpleDateFormatPattern = _SIMPLE_DATE_FORMAT_PATTERN_YMD;
+	}
+	else if (shortDateFormatSimpleDateFormatPattern.indexOf("d") == 0) {
+		mask = _MASK_DMY;
+		simpleDateFormatPattern = _SIMPLE_DATE_FORMAT_PATTERN_DMY;
+	}
+}
+
+Format format = FastDateFormatFactoryUtil.getSimpleDateFormat(simpleDateFormatPattern, locale);
+%>
+
+<span class="lfr-input-date <%= cssClass %>" id="<%= randomNamespace %>displayDate">
+	<c:choose>
+		<c:when test="<%= BrowserSnifferUtil.isMobile(request) %>">
+			<input class="input-medium" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= namespace + name %>" name="<%= namespace + name %>" type="date" value="<%= format.format(calendar.getTime()) %>" />
+		</c:when>
+		<c:otherwise>
+			<input class="input-medium" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= namespace + name %>" name="<%= namespace + name %>" placeholder="<%= StringUtil.toLowerCase(simpleDateFormatPattern) %>" type="text" value="<%= format.format(calendar.getTime()) %>" />
+		</c:otherwise>
+	</c:choose>
+
+	<input <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= dayParamId %>" name="<%= dayParam %>" type="hidden" value="<%= dayValue %>" />
+	<input <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= monthParamId %>" name="<%= monthParam %>" type="hidden" value="<%= monthValue %>" />
+	<input <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= yearParamId %>" name="<%= yearParam %>" type="hidden" value="<%= yearValue %>" />
+</span>
+
+<aui:script use='<%= "aui-datepicker" + (BrowserSnifferUtil.isMobile(request) ? "-native" : StringPool.BLANK) %>'>
+	Liferay.component(
+		'<%= namespace + name %>DatePicker',
+		function() {
+			var datePicker = new A.DatePicker<%= BrowserSnifferUtil.isMobile(request) ? "Native" : StringPool.BLANK %>(
+				{
+					container: '#<%= randomNamespace %>displayDate',
+					mask: '<%= mask %>',
+					on: {
+						disabledChange: function(event) {
+							var instance = this;
+
+							var container = instance.get('container');
+
+							var newVal = event.newVal;
+
+							container.one('#<%= dayParamId %>').attr('disabled', newVal);
+							container.one('#<%= monthParamId %>').attr('disabled', newVal);
+							container.one('#<%= namespace + name %>').attr('disabled', newVal);
+							container.one('#<%= yearParamId %>').attr('disabled', newVal);
+						},
+						selectionChange: function(event) {
+							var instance = this;
+
+							var container = instance.get('container');
+
+							var date = event.newSelection[0];
+
+							if (date) {
+								container.one('#<%= dayParamId %>').val(date.getDate());
+								container.one('#<%= monthParamId %>').val(date.getMonth());
+								container.one('#<%= yearParamId %>').val(date.getFullYear());
+							}
+						}
+					},
+					popover: {
+						zIndex: Liferay.zIndex.TOOLTIP
+					},
+					trigger: '#<%= namespace + name %>'
+				}
+			);
+
+			datePicker.getDate = function() {
+				var instance = this;
+
+				var container = instance.get('container');
+
+				return new Date(container.one('#<%= yearParamId %>').val(), container.one('#<%= monthParamId %>').val(), container.one('#<%= dayParamId %>').val());
+			};
+
+			return datePicker;
+		}
+	);
+
+	Liferay.component('<%= namespace + name %>DatePicker');
+</aui:script>
+
+<%!
+private static final String _SIMPLE_DATE_FORMAT_PATTERN_DMY = "dd/MM/yyyy";
+
+private static final String _SIMPLE_DATE_FORMAT_PATTERN_HTML5 = "yyyy-MM-dd";
+
+private static final String _SIMPLE_DATE_FORMAT_PATTERN_MDY = "MM/dd/yyyy";
+
+private static final String _SIMPLE_DATE_FORMAT_PATTERN_YMD = "yyyy/MM/dd";
+
+private static final String _MASK_DMY = "%d/%m/%Y";
+
+private static final String _MASK_MDY = "%m/%d/%Y";
+
+private static final String _MASK_YMD = "%Y/%m/%d";
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_field/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_field/page.jsp
new file mode 100644
index 0000000..af544cd
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_field/page.jsp
@@ -0,0 +1,492 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+boolean autoFocus = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-field:autoFocus"));
+boolean autoSize = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-field:autoSize"));
+Object bean = request.getAttribute("liferay-ui:input-field:bean");
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-field:cssClass"));
+String dateTogglerCheckboxLabel = GetterUtil.getString((String) request.getAttribute("liferay-ui:input-field:dateTogglerCheckboxLabel"));
+String defaultLanguageId = (String)request.getAttribute("liferay-ui:input-field:defaultLanguageId");
+Object defaultValue = request.getAttribute("liferay-ui:input-field:defaultValue");
+boolean disabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-field:disabled"));
+String field = (String)request.getAttribute("liferay-ui:input-field:field");
+String fieldParam = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-field:fieldParam"));
+Format format = (Format)request.getAttribute("liferay-ui:input-field:format");
+String formName = (String)request.getAttribute("liferay-ui:input-field:formName");
+String id = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-field:id"));
+boolean ignoreRequestValue = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-field:ignoreRequestValue"));
+String languageId = (String)request.getAttribute("liferay-ui:input-field:languageId");
+String model = (String)request.getAttribute("liferay-ui:input-field:model");
+String placeholder = (String)request.getAttribute("liferay-ui:input-field:placeholder");
+
+String type = ModelHintsUtil.getType(model, field);
+
+Map<String, String> hints = ModelHintsUtil.getHints(model, field);
+
+if (hints != null) {
+	type = GetterUtil.getString(hints.get("type"), type);
+}
+%>
+
+<c:if test="<%= type != null %>">
+	<c:choose>
+		<c:when test='<%= type.equals("boolean") %>'>
+
+			<%
+			boolean defaultBoolean = GetterUtil.DEFAULT_BOOLEAN;
+
+			if (defaultValue != null) {
+				defaultBoolean = ((Boolean)defaultValue).booleanValue();
+			}
+			else {
+				if (hints != null) {
+					defaultBoolean = GetterUtil.getBoolean(hints.get("default-value"));
+				}
+			}
+
+			boolean value = BeanPropertiesUtil.getBooleanSilent(bean, field, defaultBoolean);
+
+			if (!ignoreRequestValue) {
+				value = ParamUtil.getBoolean(request, fieldParam, value);
+			}
+			%>
+
+			<liferay-ui:input-checkbox cssClass="<%= cssClass %>" defaultValue="<%= value %>" disabled="<%= disabled %>" formName="<%= formName %>" id="<%= namespace + id %>" param="<%= fieldParam %>" />
+		</c:when>
+		<c:when test='<%= type.equals("Date") %>'>
+
+			<%
+			boolean checkDefaultDelta = false;
+
+			Calendar cal = null;
+
+			if (defaultValue != null) {
+				cal = (Calendar)defaultValue;
+			}
+			else {
+				cal = CalendarFactoryUtil.getCalendar(timeZone, locale);
+
+				Date date = (Date)BeanPropertiesUtil.getObject(bean, field);
+
+				if (date == null) {
+					checkDefaultDelta = true;
+
+					date = new Date();
+				}
+
+				cal.setTime(date);
+			}
+
+			boolean updateFromDefaultDelta = false;
+
+			int month = -1;
+
+			if (!ignoreRequestValue) {
+				month = ParamUtil.getInteger(request, fieldParam + "Month", month);
+			}
+
+			if ((month == -1) && (cal != null)) {
+				month = cal.get(Calendar.MONTH);
+
+				if (checkDefaultDelta && (hints != null)) {
+					int defaultMonthDelta = GetterUtil.getInteger(hints.get("default-month-delta"));
+
+					cal.add(Calendar.MONTH, defaultMonthDelta);
+
+					updateFromDefaultDelta = true;
+				}
+			}
+
+			int day = -1;
+
+			if (!ignoreRequestValue) {
+				day = ParamUtil.getInteger(request, fieldParam + "Day", day);
+			}
+
+			if ((day == -1) && (cal != null)) {
+				day = cal.get(Calendar.DATE);
+
+				if (checkDefaultDelta && (hints != null)) {
+					int defaultDayDelta = GetterUtil.getInteger(hints.get("default-day-delta"));
+
+					cal.add(Calendar.DATE, defaultDayDelta);
+
+					updateFromDefaultDelta = true;
+				}
+			}
+
+			int year = -1;
+
+			if (!ignoreRequestValue) {
+				year = ParamUtil.getInteger(request, fieldParam + "Year", year);
+			}
+
+			if ((year == -1) && (cal != null)) {
+				year = cal.get(Calendar.YEAR);
+
+				if (checkDefaultDelta && (hints != null)) {
+					int defaultYearDelta = GetterUtil.getInteger(hints.get("default-year-delta"));
+
+					cal.add(Calendar.YEAR, defaultYearDelta);
+
+					updateFromDefaultDelta = true;
+				}
+			}
+
+			if (updateFromDefaultDelta) {
+				month = cal.get(Calendar.MONTH);
+				day = cal.get(Calendar.DATE);
+				year = cal.get(Calendar.YEAR);
+			}
+
+			int firstDayOfWeek = Calendar.SUNDAY - 1;
+
+			if (cal != null) {
+				firstDayOfWeek = cal.getFirstDayOfWeek() - 1;
+			}
+
+			int hour = -1;
+
+			if (!ignoreRequestValue) {
+				hour = ParamUtil.getInteger(request, fieldParam + "Hour", hour);
+			}
+
+			if ((hour == -1) && (cal != null)) {
+				hour = cal.get(Calendar.HOUR_OF_DAY);
+
+				if (DateUtil.isFormatAmPm(locale)) {
+					hour = cal.get(Calendar.HOUR);
+				}
+			}
+
+			int minute = -1;
+
+			if (!ignoreRequestValue) {
+				minute = ParamUtil.getInteger(request, fieldParam + "Minute", minute);
+			}
+
+			if ((minute == -1) && (cal != null)) {
+				minute = cal.get(Calendar.MINUTE);
+			}
+
+			int amPm = -1;
+
+			if (!ignoreRequestValue) {
+				amPm = ParamUtil.getInteger(request, fieldParam + "AmPm", amPm);
+			}
+
+			if ((amPm == -1) && (cal != null)) {
+				amPm = Calendar.AM;
+
+				if (DateUtil.isFormatAmPm(locale)) {
+					amPm = cal.get(Calendar.AM_PM);
+				}
+			}
+
+			boolean showTime = true;
+
+			if (hints != null) {
+				showTime = GetterUtil.getBoolean(hints.get("show-time"), showTime);
+			}
+			%>
+
+			<div class="clearfix">
+				<liferay-ui:input-date
+					autoFocus="<%= autoFocus %>"
+					cssClass="<%= cssClass %>"
+					dayParam='<%= fieldParam + "Day" %>'
+					dayValue="<%= day %>"
+					disabled="<%= disabled %>"
+					firstDayOfWeek="<%= firstDayOfWeek %>"
+					formName="<%= formName %>"
+					monthParam='<%= fieldParam + "Month" %>'
+					monthValue="<%= month %>"
+					name="<%= fieldParam %>"
+					yearParam='<%= fieldParam + "Year" %>'
+					yearValue="<%= year %>"
+				/>
+
+				<c:if test="<%= showTime %>">
+					<liferay-ui:input-time
+						amPmParam='<%= fieldParam + "AmPm" %>'
+						amPmValue="<%= amPm %>"
+						cssClass="<%= cssClass %>"
+						disabled="<%= disabled %>"
+						hourParam='<%= fieldParam + "Hour" %>'
+						hourValue="<%= hour %>"
+						minuteParam='<%= fieldParam + "Minute" %>'
+						minuteValue="<%= minute %>"
+						name='<%= fieldParam + "Time" %>'
+					/>
+				</c:if>
+			</div>
+
+			<c:if test="<%= Validator.isNotNull(dateTogglerCheckboxLabel) %>">
+
+				<%
+				String dateTogglerCheckboxName = TextFormatter.format(dateTogglerCheckboxLabel, TextFormatter.M);
+				%>
+
+				<div class="clearfix">
+					<aui:input id="<%= formName + fieldParam %>" label="<%= dateTogglerCheckboxLabel %>" name="<%= dateTogglerCheckboxName %>" type="checkbox" value="<%= disabled %>" />
+				</div>
+
+				<aui:script use="aui-base">
+					var checkbox = A.one('#<portlet:namespace /><%= formName + fieldParam %>Checkbox');
+
+					checkbox.once(
+						['click', 'mouseover'],
+						function() {
+							Liferay.component('<portlet:namespace /><%= fieldParam %>DatePicker');
+						}
+					);
+
+					checkbox.on(
+						['click', 'mouseover'],
+						function(event) {
+							var checked = document.getElementById('<portlet:namespace /><%= formName + fieldParam %>Checkbox').checked;
+
+							document.<portlet:namespace /><%= formName %>["<portlet:namespace /><%= fieldParam %>"].disabled = checked;
+							document.<portlet:namespace /><%= formName %>["<portlet:namespace /><%= fieldParam %>Month"].disabled = checked;
+							document.<portlet:namespace /><%= formName %>["<portlet:namespace /><%= fieldParam %>Day"].disabled = checked;
+							document.<portlet:namespace /><%= formName %>["<portlet:namespace /><%= fieldParam %>Year"].disabled = checked;
+
+							<c:if test="<%= showTime %>">
+								document.<portlet:namespace /><%= formName %>["<portlet:namespace /><%= fieldParam %>Time"].disabled = checked;
+								document.<portlet:namespace /><%= formName %>["<portlet:namespace /><%= fieldParam %>Hour"].disabled = checked;
+								document.<portlet:namespace /><%= formName %>["<portlet:namespace /><%= fieldParam %>Minute"].disabled = checked;
+								document.<portlet:namespace /><%= formName %>["<portlet:namespace /><%= fieldParam %>AmPm"].disabled = checked;
+							</c:if>
+						}
+					);
+				</aui:script>
+			</c:if>
+		</c:when>
+		<c:when test='<%= type.equals("double") || type.equals("int") || type.equals("long") || type.equals("String") %>'>
+
+			<%
+			String defaultString = GetterUtil.DEFAULT_STRING;
+
+			if (defaultValue != null) {
+				defaultString = (String)defaultValue;
+			}
+
+			String value = null;
+
+			if (type.equals("double")) {
+				double doubleValue = BeanPropertiesUtil.getDoubleSilent(bean, field, GetterUtil.getDouble(defaultString));
+
+				if (!ignoreRequestValue) {
+					doubleValue = ParamUtil.getDouble(request, fieldParam, doubleValue);
+				}
+
+				if (format != null) {
+					value = format.format(doubleValue);
+				}
+				else {
+					value = String.valueOf(doubleValue);
+				}
+			}
+			else if (type.equals("int")) {
+				int intValue = BeanPropertiesUtil.getIntegerSilent(bean, field, GetterUtil.getInteger(defaultString));
+
+				if (!ignoreRequestValue) {
+					intValue = ParamUtil.getInteger(request, fieldParam, intValue);
+				}
+
+				if (format != null) {
+					value = format.format(intValue);
+				}
+				else {
+					value = String.valueOf(intValue);
+				}
+			}
+			else if (type.equals("long")) {
+				long longValue = BeanPropertiesUtil.getLongSilent(bean, field, GetterUtil.getLong(defaultString));
+
+				if (!ignoreRequestValue) {
+					longValue = ParamUtil.getLong(request, fieldParam, longValue);
+				}
+
+				if (format != null) {
+					value = format.format(longValue);
+				}
+				else {
+					value = String.valueOf(longValue);
+				}
+			}
+			else {
+				value = BeanPropertiesUtil.getStringSilent(bean, field, defaultString);
+
+				if (!ignoreRequestValue) {
+					value = ParamUtil.getString(request, fieldParam, value);
+				}
+			}
+
+			boolean autoEscape = true;
+
+			if (hints != null) {
+				autoEscape = GetterUtil.getBoolean(hints.get("auto-escape"), true);
+			}
+
+			boolean checkTab = false;
+			String displayHeight = ModelHintsConstants.TEXT_DISPLAY_HEIGHT;
+			String displayWidth = ModelHintsConstants.TEXT_DISPLAY_WIDTH;
+			boolean editor = false;
+			String maxLength = ModelHintsConstants.TEXT_MAX_LENGTH;
+			boolean secret = false;
+			boolean upperCase = false;
+
+			if (hints != null) {
+				autoSize = GetterUtil.getBoolean(hints.get("autoSize"), autoSize);
+				checkTab = GetterUtil.getBoolean(hints.get("check-tab"), checkTab);
+				displayHeight = GetterUtil.getString(hints.get("display-height"), displayHeight);
+				displayWidth = GetterUtil.getString(hints.get("display-width"), displayWidth);
+				editor = GetterUtil.getBoolean(hints.get("editor"), editor);
+				maxLength = GetterUtil.getString(hints.get("max-length"), maxLength);
+				secret = GetterUtil.getBoolean(hints.get("secret"), secret);
+				upperCase = GetterUtil.getBoolean(hints.get("upper-case"), upperCase);
+			}
+
+			if (autoSize) {
+				displayHeight = "auto";
+			}
+
+			boolean localized = ModelHintsUtil.isLocalized(model, field);
+
+			Locale[] availableLocales = null;
+
+			String xml = StringPool.BLANK;
+
+			if (localized) {
+				if (ModelHintsUtil.hasField(model, "groupId")) {
+					availableLocales = LanguageUtil.getAvailableLocales(themeDisplay.getSiteGroupId());
+				}
+				else {
+					availableLocales = LanguageUtil.getAvailableLocales();
+				}
+
+				if (Validator.isNotNull(bean)) {
+					xml = BeanPropertiesUtil.getString(bean, field);
+				}
+				else {
+					Map<Locale, String> localizationMap = LocalizationUtil.getLocalizationMap(portletRequest, field);
+
+					xml = LocalizationUtil.updateLocalization(localizationMap, xml, field, defaultLanguageId);
+				}
+			}
+			%>
+
+			<c:choose>
+				<c:when test="<%= editor %>">
+					<c:choose>
+						<c:when test="<%= localized %>">
+							<liferay-ui:input-localized
+								autoFocus="<%= autoFocus %>"
+								cssClass='<%= cssClass + " lfr-input-text" %>'
+								defaultLanguageId="<%= defaultLanguageId %>"
+								disabled="<%= disabled %>"
+								displayWidth="<%= displayWidth %>"
+								formName="<%= formName %>"
+								id="<%= id %>"
+								ignoreRequestValue="<%= ignoreRequestValue %>"
+								languageId="<%= languageId %>"
+								maxLength="<%= maxLength %>"
+								name="<%= fieldParam %>"
+								style='<%= "max-width: " + displayWidth + (Validator.isDigit(displayWidth) ? "px" : "") + "; " + (upperCase ? "text-transform: uppercase;" : "" ) %>'
+								type="editor"
+								xml="<%= xml %>"
+							/>
+						</c:when>
+						<c:otherwise>
+							<liferay-ui:input-editor cssClass='<%= cssClass + \" lfr-input-text\" %>' editorImpl="ckeditor" initMethod='<%= fieldParam + \"InitEditor\" %>' name="<%= fieldParam %>" toolbarSet="simple" />
+
+							<aui:script>
+								function <portlet:namespace /><%= fieldParam %>InitEditor() {
+									return "<%= UnicodeFormatter.toString(value) %>";
+								}
+							</aui:script>
+						</c:otherwise>
+					</c:choose>
+				</c:when>
+				<c:when test="<%= displayHeight.equals(ModelHintsConstants.TEXT_DISPLAY_HEIGHT) %>">
+
+					<%
+					if (Validator.isNotNull(value)) {
+						int maxLengthInt = GetterUtil.getInteger(maxLength);
+
+						if (value.length() > maxLengthInt) {
+							value = value.substring(0, maxLengthInt);
+						}
+					}
+					%>
+
+					<c:choose>
+						<c:when test="<%= localized %>">
+							<liferay-ui:input-localized autoFocus="<%= autoFocus %>" availableLocales="<%= availableLocales %>" cssClass='<%= cssClass + " lfr-input-text" %>' defaultLanguageId="<%= defaultLanguageId %>" disabled="<%= disabled %>" displayWidth="<%= displayWidth %>" formName="<%= formName %>" id="<%= id %>" ignoreRequestValue="<%= ignoreRequestValue %>" languageId="<%= languageId %>" maxLength="<%= maxLength %>" name="<%= fieldParam %>" style='<%= "max-width: " + displayWidth + (Validator.isDigit(displayWidth) ? "px" : "") + "; " + (upperCase ? "text-transform: uppercase;" : "" ) %>' xml="<%= xml %>" />
+						</c:when>
+						<c:otherwise>
+							<input class="<%= cssClass + " lfr-input-text" %>" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= namespace %><%= id %>" name="<%= namespace %><%= fieldParam %>" <%= Validator.isNotNull(placeholder) ? "placeholder=\"" + LanguageUtil.get(pageContext, placeholder) + "\"" : StringPool.BLANK %> style="max-width: <%= displayWidth %><%= Validator.isDigit(displayWidth) ? "px" : "" %>; <%= upperCase ? "text-transform: uppercase;" : "" %>" type="<%= secret ? "password" : "text" %>" value="<%= autoEscape ? HtmlUtil.escape(value) : value %>" />
+						</c:otherwise>
+					</c:choose>
+				</c:when>
+				<c:otherwise>
+					<c:choose>
+						<c:when test="<%= localized %>">
+							<liferay-ui:input-localized autoFocus="<%= autoFocus %>" autoSize="<%= autoSize %>" availableLocales="<%= availableLocales %>" cssClass='<%= cssClass + " lfr-input-text" %>' defaultLanguageId="<%= defaultLanguageId %>" disabled="<%= disabled %>" displayWidth="<%= displayWidth %>" formName="<%= formName %>" id="<%= id %>" ignoreRequestValue="<%= ignoreRequestValue %>" languageId="<%= languageId %>" maxLength="<%= maxLength %>" name="<%= fieldParam %>" onKeyDown='<%= (checkTab ? "Liferay.Util.checkTab(this); " : "") + "Liferay.Util.disableEsc();" %>' style='<%= !autoSize ? "height: " + displayHeight + (Validator.isDigit(displayHeight) ? "px" : StringPool.BLANK) + ";" : StringPool.BLANK + "max-width: " + displayWidth + (Validator.isDigit(displayWidth) ? "px" : "") +";" %>' type="textarea" wrap="soft" xml="<%= xml %>" />
+						</c:when>
+						<c:otherwise>
+							<textarea class="<%= cssClass + " lfr-textarea" %>" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= namespace %><%= id %>" name="<%= namespace %><%= fieldParam %>" <%= Validator.isNotNull(placeholder) ? "placeholder=\"" + LanguageUtil.get(pageContext, placeholder) + "\"" : StringPool.BLANK %> style="<%= !autoSize ? "height: " + displayHeight + (Validator.isDigit(displayHeight) ? "px" : StringPool.BLANK) + ";" : StringPool.BLANK %> max-width: <%= displayWidth %><%= Validator.isDigit(displayWidth) ? "px" : "" %>;" wrap="soft" onKeyDown="<%= checkTab ? "Liferay.Util.checkTab(this); " : "" %> Liferay.Util.disableEsc();"><%= autoEscape ? HtmlUtil.escape(value) : value %></textarea>
+						</c:otherwise>
+					</c:choose>
+
+					<c:if test="<%= autoSize && !localized %>">
+						<aui:script use="aui-autosize">
+							A.one('#<%= namespace %><%= id %>').plug(
+								A.Plugin.Autosize,
+								{
+									<c:if test="<%= Validator.isDigit(displayHeight) %>">
+										minHeight: <%= displayHeight %>
+									</c:if>
+								}
+							);
+						</aui:script>
+					</c:if>
+				</c:otherwise>
+			</c:choose>
+
+			<c:if test="<%= !localized %>">
+				<c:if test="<%= autoFocus %>">
+					<aui:script>
+						Liferay.Util.focusFormField('#<%= namespace %><%= id %>');
+					</aui:script>
+				</c:if>
+
+				<aui:script use="aui-char-counter">
+					new A.CharCounter(
+						{
+							input: '#<%= namespace %><%= id %>',
+							maxLength: <%= maxLength %>
+						}
+					);
+				</aui:script>
+			</c:if>
+		</c:when>
+	</c:choose>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_localized/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_localized/page.jsp
new file mode 100644
index 0000000..8236604
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_localized/page.jsp
@@ -0,0 +1,296 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_input_localized") + StringPool.UNDERLINE;
+
+boolean autoFocus = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-localized:autoFocus"));
+boolean autoSize = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-localized:autoSize"));
+Locale[] availableLocales = (Locale[])request.getAttribute("liferay-ui:input-localized:availableLocales");
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-localized:cssClass"));
+String defaultLanguageId = (String)request.getAttribute("liferay-ui:input-localized:defaultLanguageId");
+boolean disabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-localized:disabled"));
+String id = (String)request.getAttribute("liferay-ui:input-localized:id");
+Map<String, Object> dynamicAttributes = (Map<String, Object>)request.getAttribute("liferay-ui:input-localized:dynamicAttributes");
+boolean ignoreRequestValue = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-localized:ignoreRequestValue"));
+String languageId = (String)request.getAttribute("liferay-ui:input-localized:languageId");
+String maxLength = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-localized:maxLength"));
+String name = (String)request.getAttribute("liferay-ui:input-localized:name");
+String xml = (String)request.getAttribute("liferay-ui:input-localized:xml");
+String type = (String)request.getAttribute("liferay-ui:input-localized:type");
+
+Locale defaultLocale = null;
+
+if (Validator.isNotNull(defaultLanguageId)) {
+	defaultLocale = LocaleUtil.fromLanguageId(defaultLanguageId);
+}
+else {
+	defaultLocale = LocaleUtil.getDefault();
+	defaultLanguageId = LocaleUtil.toLanguageId(defaultLocale);
+}
+
+String mainLanguageId = defaultLanguageId;
+
+if (Validator.isNotNull(languageId)) {
+	mainLanguageId = languageId;
+}
+
+Locale mainLocale = LocaleUtil.fromLanguageId(mainLanguageId);
+
+String mainLanguageDir = LanguageUtil.get(mainLocale, "lang.dir");
+
+String mainLanguageValue = LocalizationUtil.getLocalization(xml, mainLanguageId, false);
+
+if (!ignoreRequestValue) {
+	mainLanguageValue = ParamUtil.getString(request, name + StringPool.UNDERLINE + mainLanguageId, mainLanguageValue);
+}
+
+if (Validator.isNull(mainLanguageValue)) {
+	mainLanguageValue = LocalizationUtil.getLocalization(xml, defaultLanguageId, true);
+}
+
+String fieldSuffix = StringPool.BLANK;
+
+if (!Validator.isNull(languageId)) {
+	fieldSuffix = StringPool.UNDERLINE + mainLanguageId;
+}
+
+List<String> languageIds = new ArrayList<String>();
+
+String fieldName = HtmlUtil.escapeAttribute(name + fieldSuffix);
+%>
+
+<span class="input-localized input-localized-<%= type %>" id="<portlet:namespace /><%= id %>BoundingBox">
+	<c:choose>
+		<c:when test='<%= type.equals("editor") %>'>
+			<liferay-ui:input-editor
+				cssClass='<%= \"language-value \" + cssClass %>'
+				editorImpl="ckeditor"
+				initMethod='<%= randomNamespace + \"InitEditor\" %>'
+				name="<%= fieldName %>"
+				onBlurMethod='<%= randomNamespace + \"OnBlurEditor\" %>'
+				onChangeMethod='<%= randomNamespace + \"OnChangeEditor\" %>'
+				onFocusMethod='<%= randomNamespace + \"OnFocusEditor\" %>'
+				toolbarSet="simple"
+			/>
+
+			<aui:script>
+				function <portlet:namespace /><%= randomNamespace %>InitEditor() {
+					return "<%= UnicodeFormatter.toString(mainLanguageValue) %>";
+				}
+
+				function <portlet:namespace /><%= randomNamespace %>OnBlurEditor() {
+					Liferay.component('<portlet:namespace /><%= fieldName %>').blur();
+				}
+
+				function <portlet:namespace /><%= randomNamespace %>OnChangeEditor() {
+					var inputLocalized = Liferay.component('<portlet:namespace /><%= fieldName %>');
+
+					var editor = window['<portlet:namespace /><%= fieldName %>'];
+
+					inputLocalized.updateInputLanguage(editor.getHTML());
+				}
+
+				function <portlet:namespace /><%= randomNamespace %>OnFocusEditor() {
+					Liferay.component('<portlet:namespace /><%= fieldName %>').focus();
+				}
+			</aui:script>
+
+			<aui:script use="aui-base">
+				A.all('#<portlet:namespace /><%= id %>ContentBox .palette-item-inner').on(
+					'click',
+					function() {
+						window['<portlet:namespace /><%= fieldName %>'].focus();
+					}
+				);
+			</aui:script>
+		</c:when>
+		<c:when test='<%= type.equals("input") %>'>
+			<input class="language-value <%= cssClass %>" dir="<%= mainLanguageDir %>" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<portlet:namespace /><%= HtmlUtil.escapeAttribute(id + fieldSuffix) %>" name="<portlet:namespace /><%= HtmlUtil.escapeAttribute(name + fieldSuffix) %>" type="text" value="<%= HtmlUtil.escapeAttribute(mainLanguageValue) %>" <%= InlineUtil.buildDynamicAttributes(dynamicAttributes) %> />
+		</c:when>
+		<c:when test='<%= type.equals("textarea") %>'>
+			<textarea class="language-value <%= cssClass %>" dir="<%= mainLanguageDir %>" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<portlet:namespace /><%= HtmlUtil.escapeAttribute(id + fieldSuffix) %>" name="<portlet:namespace /><%= HtmlUtil.escapeAttribute(name + fieldSuffix) %>" <%= InlineUtil.buildDynamicAttributes(dynamicAttributes) %>><%= HtmlUtil.escape(mainLanguageValue) %></textarea>
+
+			<c:if test="<%= autoSize %>">
+				<aui:script use="aui-autosize-deprecated">
+					A.one('#<portlet:namespace /><%= HtmlUtil.escapeJS(id + fieldSuffix) %>').plug(A.Plugin.Autosize);
+				</aui:script>
+			</c:if>
+		</c:when>
+	</c:choose>
+
+	<c:if test="<%= (availableLocales.length > 0) && Validator.isNull(languageId) %>">
+
+		<%
+		languageIds.add(defaultLanguageId);
+
+		if (Validator.isNotNull(xml)) {
+			for (int i = 0; i < availableLocales.length; i++) {
+				String curLanguageId = LocaleUtil.toLanguageId(availableLocales[i]);
+
+				if (curLanguageId.equals(defaultLanguageId)) {
+					continue;
+				}
+
+				String languageValue = LocalizationUtil.getLocalization(xml, curLanguageId, false);
+
+				if (Validator.isNotNull(languageValue) || (!ignoreRequestValue && (request.getParameter(name + StringPool.UNDERLINE + curLanguageId) != null))) {
+					languageIds.add(curLanguageId);
+				}
+			}
+		}
+
+		for (int i = 0; i < languageIds.size(); i++) {
+			String curLanguageId = languageIds.get(i);
+
+			Locale curLocale = LocaleUtil.fromLanguageId(curLanguageId);
+
+			String curLanguageDir = LanguageUtil.get(curLocale, "lang.dir");
+
+			String languageValue = StringPool.BLANK;
+
+			if (Validator.isNotNull(xml)) {
+				languageValue = LocalizationUtil.getLocalization(xml, curLanguageId, false);
+			}
+
+			if (!ignoreRequestValue) {
+				languageValue = ParamUtil.getString(request, name + StringPool.UNDERLINE + curLanguageId, languageValue);
+			}
+		%>
+
+			<aui:input dir="<%= curLanguageDir %>" disabled="<%= disabled %>" id="<%= HtmlUtil.escapeAttribute(id + StringPool.UNDERLINE + curLanguageId) %>" name="<%= HtmlUtil.escapeAttribute(name + StringPool.UNDERLINE + curLanguageId) %>" type="hidden" value="<%= languageValue %>" />
+
+		<%
+		}
+		%>
+
+		<div class="input-localized-content" id="<portlet:namespace /><%= id %>ContentBox">
+			<table class="palette-container">
+				<tr class="palette-items-container">
+
+					<%
+					LinkedHashSet<String> uniqueLanguageIds = new LinkedHashSet<String>();
+
+					uniqueLanguageIds.add(defaultLanguageId);
+
+					for (int i = 0; i < availableLocales.length; i++) {
+						String curLanguageId = LocaleUtil.toLanguageId(availableLocales[i]);
+
+						uniqueLanguageIds.add(curLanguageId);
+					}
+
+					int index = 0;
+
+					for (String curLanguageId : uniqueLanguageIds) {
+						String itemCssClass = "palette-item";
+
+						if (index == 0) {
+							itemCssClass += " palette-item-selected";
+						}
+
+						if (defaultLanguageId.equals(curLanguageId)) {
+							itemCssClass += " lfr-input-localized-default";
+						}
+
+						if (languageIds.contains(curLanguageId)) {
+							itemCssClass += " lfr-input-localized";
+						}
+					%>
+
+						<td class="palette-item <%= itemCssClass %>" data-index="<%= index++ %>" data-value="<%= curLanguageId %>">
+							<a class="palette-item-inner" href="javascript:void(0);">
+								<img class="lfr-input-localized-flag" data-languageid="<%= curLanguageId %>" src="<%= themeDisplay.getPathThemeImages() %>/language/<%= curLanguageId %>.png" />
+								<div class="lfr-input-localized-state"></div>
+							</a>
+						</td>
+
+					<%
+					}
+					%>
+
+				</tr>
+			</table>
+		</div>
+	</c:if>
+</span>
+
+<c:if test="<%= Validator.isNotNull(maxLength) %>">
+	<aui:script use="aui-char-counter">
+		new A.CharCounter(
+			{
+				input: '#<portlet:namespace /><%= HtmlUtil.escapeJS(id + fieldSuffix) %>',
+				maxLength: <%= maxLength %>
+			}
+		);
+	</aui:script>
+</c:if>
+
+<c:choose>
+	<c:when test="<%= (availableLocales.length > 0) && Validator.isNull(languageId) %>">
+		<aui:script use="liferay-input-localized">
+			var defaultLanguageId = '<%= defaultLanguageId %>';
+
+			var available = {};
+
+			<%
+			for (Locale availableLocale : availableLocales) {
+				String availableLanguageId = LocaleUtil.toLanguageId(availableLocale);
+			%>
+
+				available['<%= availableLanguageId %>'] = '<%= availableLocale.getDisplayName(locale) %>';
+
+			<%
+			}
+			%>
+
+			var availableLanguageIds = A.Array.dedupe(
+				[defaultLanguageId].concat(A.Object.keys(available))
+			);
+
+			Liferay.InputLocalized.register(
+				'<portlet:namespace /><%= HtmlUtil.escapeJS(id + fieldSuffix) %>',
+				{
+					boundingBox: '#<portlet:namespace /><%= id %>BoundingBox',
+					columns: 20,
+					contentBox: '#<portlet:namespace /><%= id %>ContentBox',
+
+					<c:if test='<%= type.equals("editor") %>'>
+						editor: window['<portlet:namespace /><%= fieldName %>'],
+					</c:if>
+
+					inputPlaceholder: '#<portlet:namespace /><%= HtmlUtil.escapeJS(id + fieldSuffix) %>',
+					items: availableLanguageIds,
+					lazy: <%= !type.equals("editor") %>,
+					name: '<portlet:namespace /><%= name + StringPool.UNDERLINE %>',
+					namespace: '<portlet:namespace /><%= id + StringPool.UNDERLINE %>',
+					toggleSelection: false,
+					translatedLanguages: '<%= StringUtil.merge(languageIds) %>'
+				}
+			);
+
+			<c:if test="<%= autoFocus %>">
+				Liferay.Util.focusFormField('#<portlet:namespace /><%= HtmlUtil.escapeAttribute(id + fieldSuffix) %>');
+			</c:if>
+		</aui:script>
+	</c:when>
+	<c:otherwise>
+		<c:if test="<%= autoFocus %>">
+			Liferay.Util.focusFormField('#<portlet:namespace /><%= HtmlUtil.escapeAttribute(id + fieldSuffix) %>');
+		</c:if>
+	</c:otherwise>
+</c:choose>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_move_boxes/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_move_boxes/page.jsp
new file mode 100644
index 0000000..5af8c63
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_move_boxes/page.jsp
@@ -0,0 +1,94 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_input_move_boxes_page") + StringPool.UNDERLINE;
+
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-move-boxes:cssClass"));
+
+String leftTitle = LanguageUtil.get(pageContext, (String)request.getAttribute("liferay-ui:input-move-boxes:leftTitle"));
+String rightTitle = LanguageUtil.get(pageContext, (String)request.getAttribute("liferay-ui:input-move-boxes:rightTitle"));
+
+String leftBoxName = (String)request.getAttribute("liferay-ui:input-move-boxes:leftBoxName");
+String rightBoxName = (String)request.getAttribute("liferay-ui:input-move-boxes:rightBoxName");
+
+String leftOnChange = (String)request.getAttribute("liferay-ui:input-move-boxes:leftOnChange");
+String rightOnChange = (String)request.getAttribute("liferay-ui:input-move-boxes:rightOnChange");
+
+boolean leftReorder = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-move-boxes:leftReorder"));
+boolean rightReorder = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-move-boxes:rightReorder"));
+
+List leftList = (List)request.getAttribute("liferay-ui:input-move-boxes:leftList");
+List rightList = (List)request.getAttribute("liferay-ui:input-move-boxes:rightList");
+%>
+
+<div class="taglib-move-boxes <%= cssClass %> <%= leftReorder ? "left-reorder" : StringPool.BLANK %> <%= rightReorder ? "right-reorder" : StringPool.BLANK %>" id="<%= randomNamespace + "input-move-boxes" %>">
+	<aui:row>
+		<aui:col cssClass="left-selector-column" width="<%= 30 %>">
+			<aui:select cssClass="choice-selector left-selector" label="<%= leftTitle %>" multiple="<%= true %>" name="<%= leftBoxName %>" onChange="<%= Validator.isNotNull(leftOnChange) ? leftOnChange : StringPool.BLANK %>" size="10">
+
+				<%
+				for (int i = 0; i < leftList.size(); i++) {
+					KeyValuePair kvp = (KeyValuePair)leftList.get(i);
+				%>
+
+					<aui:option label="<%= kvp.getValue() %>" value="<%= kvp.getKey() %>" />
+
+				<%
+				}
+				%>
+
+			</aui:select>
+		</aui:col>
+
+		<aui:col cssClass="move-arrow-buttons" span="<%= 1 %>"></aui:col>
+
+		<aui:col cssClass="right-selector-column" width="<%= 30 %>">
+			<aui:select cssClass="choice-selector right-selector" label="<%= rightTitle %>" multiple="<%= true %>" name="<%= rightBoxName %>" onChange="<%= Validator.isNotNull(rightOnChange) ? rightOnChange : StringPool.BLANK %>" size="10">
+
+				<%
+				for (int i = 0; i < rightList.size(); i++) {
+					KeyValuePair kvp = (KeyValuePair)rightList.get(i);
+				%>
+
+					<option value="<%= kvp.getKey() %>"><%= kvp.getValue() %></option>
+
+				<%
+				}
+				%>
+
+				</aui:select>
+		</aui:col>
+	</aui:row>
+</div>
+
+<aui:script use="liferay-input-move-boxes">
+	new Liferay.InputMoveBoxes(
+		{
+			contentBox: '#<%= randomNamespace + "input-move-boxes" %>',
+			strings: {
+				LEFT_MOVE_DOWN: '<%= UnicodeLanguageUtil.format(pageContext, "move-selected-item-in-x-one-position-down", new Object[] {leftTitle}) %>',
+				LEFT_MOVE_UP: '<%= UnicodeLanguageUtil.format(pageContext, "move-selected-item-in-x-one-position-up", new Object[] {leftTitle}) %>',
+				MOVE_LEFT: '<%= UnicodeLanguageUtil.format(pageContext, "move-selected-items-from-x-to-x", new Object[] {leftTitle, rightTitle}) %>',
+				MOVE_RIGHT: '<%= UnicodeLanguageUtil.format(pageContext, "move-selected-items-from-x-to-x", new Object[] {rightTitle, leftTitle}) %>',
+				RIGHT_MOVE_DOWN: '<%= UnicodeLanguageUtil.format(pageContext, "move-selected-item-in-x-one-position-down", new Object[] {rightTitle}) %>',
+				RIGHT_MOVE_UP: '<%= UnicodeLanguageUtil.format(pageContext, "move-selected-item-in-x-one-position-up", new Object[] {rightTitle}) %>'
+			}
+		}
+	).render();
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_permissions/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_permissions/init.jsp
new file mode 100644
index 0000000..f2eebaa
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_permissions/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.taglib.ui.InputPermissionsParamsTag" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_permissions/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_permissions/page.jsp
new file mode 100644
index 0000000..d74e4ca
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_permissions/page.jsp
@@ -0,0 +1,320 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%--
+
+Do not update the logic in this JSP without also updating
+ServiceContext#deriveDefaultPermissions(long, String).
+
+--%>
+
+<%@ include file="/html/taglib/ui/input_permissions/init.jsp" %>
+
+<%
+String uniqueNamespace = namespace + PortalUtil.getUniqueElementId(request, namespace, StringPool.BLANK);
+
+if (!uniqueNamespace.endsWith(StringPool.UNDERLINE)) {
+	uniqueNamespace = uniqueNamespace.concat(StringPool.UNDERLINE);
+}
+
+String formName = namespace + request.getAttribute("liferay-ui:input-permissions:formName");
+String modelName = (String)request.getAttribute("liferay-ui:input-permissions:modelName");
+%>
+
+<c:choose>
+	<c:when test="<%= user.getDefaultUser() %>">
+		<liferay-ui:message key="not-available" />
+	</c:when>
+	<c:when test="<%= modelName != null %>">
+
+		<%
+		Group siteGroup = GroupLocalServiceUtil.getGroup(themeDisplay.getSiteGroupId());
+
+		Role defaultGroupRole = RoleLocalServiceUtil.getDefaultGroupRole(siteGroup.getGroupId());
+
+		boolean hasViewDefaultGroupRolePermission = RolePermissionUtil.contains(themeDisplay.getPermissionChecker(), siteGroup.getGroupId(), defaultGroupRole.getRoleId(), ActionKeys.VIEW);
+
+		Role guestRole = RoleLocalServiceUtil.getRole(themeDisplay.getCompanyId(), RoleConstants.GUEST);
+
+		String[] roleNames = new String[] {RoleConstants.GUEST};
+
+		if (hasViewDefaultGroupRolePermission) {
+			roleNames = ArrayUtil.append(roleNames, defaultGroupRole.getName());
+		}
+
+		String guestPermissionsName = "guestPermissions";
+		String groupPermissionsName = "groupPermissions";
+
+		if (!uniqueNamespace.equals(namespace)) {
+			guestPermissionsName = guestPermissionsName + StringPool.UNDERLINE + modelName;
+			groupPermissionsName = groupPermissionsName + StringPool.UNDERLINE + modelName;
+		}
+
+		List groupPermissions = ListUtil.fromArray(request.getParameterValues(groupPermissionsName));
+		List guestPermissions = ListUtil.fromArray(request.getParameterValues(guestPermissionsName));
+
+		List supportedActions = (List)request.getAttribute("liferay-ui:input-permissions:supportedActions");
+		List groupDefaultActions = (List)request.getAttribute("liferay-ui:input-permissions:groupDefaultActions");
+		List guestDefaultActions = (List)request.getAttribute("liferay-ui:input-permissions:guestDefaultActions");
+		List guestUnsupportedActions = (List)request.getAttribute("liferay-ui:input-permissions:guestUnsupportedActions");
+
+		boolean submitted = (request.getParameter(groupPermissionsName) != null);
+
+		boolean inputPermissionsShowOptions = ParamUtil.getBoolean(request, "inputPermissionsShowOptions");
+
+		String inputPermissionsViewRole = ParamUtil.getString(request, "inputPermissionsViewRole", InputPermissionsParamsTag.getDefaultViewRole(modelName, themeDisplay));
+		%>
+
+		<input id="<%= uniqueNamespace %>inputPermissionsShowOptions" name="<%= namespace %>inputPermissionsShowOptions" type="hidden" value="<%= inputPermissionsShowOptions %>" />
+
+		<p>
+			<label class="inline-label" for="<%= namespace %>inputPermissionsViewRole">
+				<liferay-ui:message key="viewable-by" />
+			</label>
+
+			<select id="<%= uniqueNamespace %>inputPermissionsViewRole" name="<%= namespace %>inputPermissionsViewRole" onChange="<%= uniqueNamespace + "updatePermissionsView();" %>">
+
+				<%
+				String guestRoleLabel = LanguageUtil.format(pageContext, "x-role", guestRole.getTitle(themeDisplay.getLocale()));
+
+				if (PropsValues.PERMISSIONS_CHECK_GUEST_ENABLED) {
+					guestRoleLabel = LanguageUtil.get(pageContext, "anyone") + StringPool.SPACE + StringPool.OPEN_PARENTHESIS + guestRoleLabel + StringPool.CLOSE_PARENTHESIS;
+				}
+				%>
+
+				<option <%= (inputPermissionsViewRole.equals(RoleConstants.GUEST)) ? "selected=\"selected\"" : "" %> value="<%= RoleConstants.GUEST %>"><%= guestRoleLabel %></option>
+
+				<c:if test="<%= hasViewDefaultGroupRolePermission %>">
+					<option <%= (inputPermissionsViewRole.equals(defaultGroupRole.getName())) ? "selected=\"selected\"" : "" %> value="<%= defaultGroupRole.getName() %>">
+						<c:choose>
+							<c:when test="<%= defaultGroupRole.getName().equals(RoleConstants.ORGANIZATION_USER) %>">
+								<liferay-ui:message key="organization-members" />
+							</c:when>
+							<c:when test="<%= defaultGroupRole.getName().equals(RoleConstants.POWER_USER) %>">
+								<liferay-ui:message key="power-users" />
+							</c:when>
+							<c:when test="<%= defaultGroupRole.getName().equals(RoleConstants.SITE_MEMBER) %>">
+								<liferay-ui:message key="site-members" />
+							</c:when>
+							<c:otherwise>
+								<liferay-ui:message key="user" />
+							</c:otherwise>
+						</c:choose>
+					</option>
+				</c:if>
+
+				<option <%= (inputPermissionsViewRole.equals(RoleConstants.OWNER)) ? "selected=\"selected\"" : "" %> value="<%= RoleConstants.OWNER %>"><liferay-ui:message key="owner" /></option>
+			</select>
+
+			<span <%= inputPermissionsShowOptions ? "class=\"hide\"" : "" %> id="<%= uniqueNamespace %>inputPermissionsShowOptionsLink">
+				<a href="javascript:<%= uniqueNamespace %>inputPermissionsShowOptions();" style="margin-left: 10px;"><liferay-ui:message key="more-options" /> &raquo;</a> <liferay-ui:icon-help message="input-permissions-more-options-help" />
+			</span>
+
+			<a <%= inputPermissionsShowOptions ? "" : "class=\"hide\"" %> href="javascript:<%= uniqueNamespace %>inputPermissionsHideOptions();" id="<%= uniqueNamespace %>inputPermissionsHideOptionsLink" style="margin-left: 10px;">&laquo; <liferay-ui:message key="hide-options" /></a>
+		</p>
+
+		<table class="lfr-table <%= inputPermissionsShowOptions ? "" : "hide" %>" id="<%= uniqueNamespace %>inputPermissionsTable">
+		<tr>
+			<th>
+				<liferay-ui:message key="roles" />
+			</th>
+
+			<%
+			for (int i = 0; i < supportedActions.size(); i++) {
+				String action = (String)supportedActions.get(i);
+			%>
+
+				<th <%= (action.equals(ActionKeys.VIEW)) ? "class=\"hide\"" : "" %> style="text-align: center;">
+					<%= ResourceActionsUtil.getAction(pageContext, action) %>
+				</th>
+
+			<%
+			}
+			%>
+
+		</tr>
+
+		<%
+		for (String roleName : roleNames) {
+			Role role = RoleLocalServiceUtil.getRole(themeDisplay.getCompanyId(), roleName);
+		%>
+
+			<tr>
+				<td>
+					<%= role.getTitle(themeDisplay.getLocale()) %>
+				</td>
+
+				<%
+				for (int i = 0; i < supportedActions.size(); i++) {
+					String action = (String)supportedActions.get(i);
+
+					boolean checked = false;
+					boolean disabled = false;
+
+					if (roleName.equals(RoleConstants.GUEST)) {
+						disabled = guestUnsupportedActions.contains(action);
+
+						if (disabled) {
+							checked = false;
+						}
+						else if (submitted) {
+							checked = guestPermissions.contains(action);
+						}
+						else {
+							checked = guestDefaultActions.contains(action) && (inputPermissionsViewRole.equals(RoleConstants.GUEST));
+						}
+					}
+					else if (roleName.equals(defaultGroupRole.getName())) {
+						if (submitted) {
+							checked = groupPermissions.contains(action);
+						}
+						else {
+							checked = groupDefaultActions.contains(action);
+						}
+					}
+
+					String checkboxFieldId = null;
+					String checkboxFieldName = null;
+
+					if (roleName.equals(RoleConstants.GUEST)) {
+						checkboxFieldId = uniqueNamespace + "guestPermissions";
+						checkboxFieldName = namespace + guestPermissionsName;
+					}
+					else {
+						checkboxFieldId = uniqueNamespace + "groupPermissions";
+						checkboxFieldName = namespace + groupPermissionsName;
+					}
+
+					checkboxFieldId = checkboxFieldId + StringPool.UNDERLINE + action;
+				%>
+
+					<td style="text-align: center;" <%= (action.equals(ActionKeys.VIEW)) ? "class=\"hide-accessible\"" : "" %>>
+						<label class="hidden-label" for="<%= checkboxFieldId %>"><liferay-ui:message arguments="<%= new Object[] {ResourceActionsUtil.getAction(pageContext, action), role.getTitle(themeDisplay.getLocale())} %>" key="give-x-permission-to-users-with-role-x" /></label>
+
+						<input <%= checked ? "checked" : "" %> <%= disabled ? "disabled" : "" %> id="<%= checkboxFieldId %>" name="<%= checkboxFieldName %>" title='<%= LanguageUtil.format(pageContext, "give-x-permission-to-users-with-role-x", new Object[] {ResourceActionsUtil.getAction(pageContext, action), role.getTitle(themeDisplay.getLocale())}) %>' type="checkbox" value="<%= action %>" />
+					</td>
+
+				<%
+				}
+				%>
+
+			</tr>
+
+		<%
+		}
+		%>
+
+		</table>
+
+		<aui:script>
+			Liferay.provide(
+				window,
+				'<%= uniqueNamespace %>inputPermissionsShowOptions',
+				function() {
+					var A = AUI();
+
+					A.one("#<%= uniqueNamespace %>inputPermissionsHideOptionsLink").show();
+					A.one("#<%= uniqueNamespace %>inputPermissionsTable").show();
+
+					A.one("#<%= uniqueNamespace %>inputPermissionsShowOptionsLink").hide();
+					A.one("#<%= uniqueNamespace %>inputPermissionsShowOptions").val("true");
+				},
+				['aui-base']
+			);
+
+			Liferay.provide(
+				window,
+				'<%= uniqueNamespace %>inputPermissionsHideOptions',
+				function() {
+					var A = AUI();
+
+					A.one("#<%= uniqueNamespace %>inputPermissionsShowOptionsLink").show();
+					A.one("#<%= uniqueNamespace %>inputPermissionsTable").hide();
+
+					A.one("#<%= uniqueNamespace %>inputPermissionsHideOptionsLink").hide();
+					A.one("#<%= uniqueNamespace %>inputPermissionsShowOptions").val("false");
+				},
+				['aui-base']
+			);
+
+			Liferay.provide(
+				window,
+				'<%= uniqueNamespace %>updatePermissionsView',
+				function() {
+					var A = AUI();
+
+					var viewableBySelect = A.one("#<%= uniqueNamespace %>inputPermissionsViewRole");
+					var guestViewCheckbox = A.one("#<%= uniqueNamespace %>guestPermissions_VIEW");
+					var groupViewCheckbox = A.one("#<%= uniqueNamespace %>groupPermissions_VIEW");
+
+					if (viewableBySelect.val() == '<%= RoleConstants.GUEST %>') {
+						guestViewCheckbox.set("checked", true);
+						groupViewCheckbox.set("checked", false);
+					}
+					else if (viewableBySelect.val() == '<%= defaultGroupRole.getName() %>') {
+						guestViewCheckbox.set("checked", false);
+						groupViewCheckbox.set("checked", true);
+					}
+					else {
+						guestViewCheckbox.set("checked", false);
+						groupViewCheckbox.set("checked", false);
+					}
+				},
+				['aui-base']
+			);
+		</aui:script>
+	</c:when>
+	<c:otherwise>
+
+		<%
+		boolean addGroupPermissions = ParamUtil.getBoolean(request, "addGroupPermissions", true);
+		boolean addGuestPermissions = ParamUtil.getBoolean(request, "addGuestPermissions", true);
+		%>
+
+		<input name="<%= namespace %>addGroupPermissions" type="hidden" value="<%= addGroupPermissions %>" />
+		<input name="<%= namespace %>addGuestPermissions" type="hidden" value="<%= addGuestPermissions %>" />
+
+		<input <%= addGroupPermissions ? "checked" : "" %> name="<%= namespace %>addGroupPermissionsBox" type="checkbox" onClick="document.<%= formName %>.<%= namespace %>addGroupPermissions.value = this.checked; <%= namespace %>checkGroupAndGuestPermissions();"> <liferay-ui:message key="assign-default-permissions-to-site" /><br />
+		<input <%= addGuestPermissions ? "checked" : "" %> name="<%= namespace %>addGuestPermissionsBox" type="checkbox" onClick="document.<%= formName %>.<%= namespace %>addGuestPermissions.value = this.checked; <%= namespace %>checkGroupAndGuestPermissions();"> <liferay-ui:message key="assign-default-permissions-to-guest" /><br />
+		<input <%= !addGroupPermissions && !addGuestPermissions ? "checked" : "" %> name="<%= namespace %>addUserPermissionsBox" type="checkbox" onClick="document.<%= formName %>.<%= namespace %>addGroupPermissions.value = !this.checked; document.<%= formName %>.<%= namespace %>addGuestPermissions.value = !this.checked; <%= namespace %>checkUserPermissions();" /> <liferay-ui:message key="only-assign-permissions-to-me" />
+
+		<aui:script>
+			function <%= namespace %>checkGroupAndGuestPermissions() {
+				if (document.<%= formName %>.<%= namespace %>addGroupPermissionsBox.checked ||
+					document.<%= formName %>.<%= namespace %>addGuestPermissionsBox.checked) {
+
+					document.<%= formName %>.<%= namespace %>addUserPermissionsBox.checked = false;
+				}
+				else if (!document.<%= formName %>.<%= namespace %>addGroupPermissionsBox.checked &&
+						!document.<%= formName %>.<%= namespace %>addGuestPermissionsBox.checked) {
+
+					document.<%= formName %>.<%= namespace %>addUserPermissionsBox.checked = true;
+				}
+			}
+
+			function <%= namespace %>checkUserPermissions() {
+				if (document.<%= formName %>.<%= namespace %>addUserPermissionsBox.checked) {
+					document.<%= formName %>.<%= namespace %>addGroupPermissionsBox.checked = false;
+					document.<%= formName %>.<%= namespace %>addGuestPermissionsBox.checked = false;
+				}
+				else {
+					document.<%= formName %>.<%= namespace %>addGroupPermissionsBox.checked = true;
+					document.<%= formName %>.<%= namespace %>addGuestPermissionsBox.checked = true;
+				}
+			}
+		</aui:script>
+	</c:otherwise>
+</c:choose>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_repeat/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_repeat/init.jsp
new file mode 100644
index 0000000..4867084
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_repeat/init.jsp
@@ -0,0 +1,20 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portal.kernel.cal.DayAndPosition" %><%@
+page import="com.liferay.portlet.calendar.model.CalEvent" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_repeat/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_repeat/page.jsp
new file mode 100644
index 0000000..a28e6cb
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_repeat/page.jsp
@@ -0,0 +1,420 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/input_repeat/init.jsp" %>
+
+<%
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-repeat:cssClass"));
+
+CalEvent event = (CalEvent)request.getAttribute("liferay-ui:input-repeat:event");
+
+Recurrence recurrence = null;
+
+int recurrenceType = ParamUtil.getInteger(request, "recurrenceType", Recurrence.NO_RECURRENCE);
+String recurrenceTypeParam = ParamUtil.getString(request, "recurrenceType");
+if (Validator.isNull(recurrenceTypeParam) && (event != null)) {
+	if (event.getRepeating()) {
+		recurrence = event.getRecurrenceObj();
+		recurrenceType = recurrence.getFrequency();
+	}
+}
+
+int dailyType = ParamUtil.getInteger(request, "dailyType");
+String dailyTypeParam = ParamUtil.getString(request, "dailyType");
+if (Validator.isNull(dailyTypeParam) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByDay() != null) {
+			dailyType = 1;
+		}
+	}
+}
+
+int dailyInterval = ParamUtil.getInteger(request, "dailyInterval", 1);
+String dailyIntervalParam = ParamUtil.getString(request, "dailyInterval");
+if (Validator.isNull(dailyIntervalParam) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		dailyInterval = recurrence.getInterval();
+	}
+}
+
+int weeklyInterval = ParamUtil.getInteger(request, "weeklyInterval", 1);
+String weeklyIntervalParam = ParamUtil.getString(request, "weeklyInterval");
+if (Validator.isNull(weeklyIntervalParam) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		weeklyInterval = recurrence.getInterval();
+	}
+}
+
+int monthlyType = ParamUtil.getInteger(request, "monthlyType");
+String monthlyTypeParam = ParamUtil.getString(request, "monthlyType");
+if (Validator.isNull(monthlyTypeParam) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByMonthDay() == null) {
+			monthlyType = 1;
+		}
+	}
+}
+
+int monthlyDay0 = ParamUtil.getInteger(request, "monthlyDay0", 15);
+String monthlyDay0Param = ParamUtil.getString(request, "monthlyDay0");
+if (Validator.isNull(monthlyDay0Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByMonthDay() != null) {
+			monthlyDay0 = recurrence.getByMonthDay()[0];
+		}
+	}
+}
+
+int monthlyInterval0 = ParamUtil.getInteger(request, "monthlyInterval0", 1);
+String monthlyInterval0Param = ParamUtil.getString(request, "monthlyInterval0");
+if (Validator.isNull(monthlyInterval0Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		monthlyInterval0 = recurrence.getInterval();
+	}
+}
+
+int monthlyPos = ParamUtil.getInteger(request, "monthlyPos", 1);
+String monthlyPosParam = ParamUtil.getString(request, "monthlyPos");
+if (Validator.isNull(monthlyPosParam) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByMonth() != null) {
+			monthlyPos = recurrence.getByMonth()[0];
+		}
+		else if (recurrence.getByDay() != null) {
+			monthlyPos = recurrence.getByDay()[0].getDayPosition();
+		}
+	}
+}
+
+int monthlyDay1 = ParamUtil.getInteger(request, "monthlyDay1", Calendar.SUNDAY);
+String monthlyDay1Param = ParamUtil.getString(request, "monthlyDay1");
+if (Validator.isNull(monthlyDay1Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByMonth() != null) {
+			monthlyDay1 = -1;
+		}
+		else if (recurrence.getByDay() != null) {
+			monthlyDay1 = recurrence.getByDay()[0].getDayOfWeek();
+		}
+	}
+}
+
+int monthlyInterval1 = ParamUtil.getInteger(request, "monthlyInterval1", 1);
+String monthlyInterval1Param = ParamUtil.getString(request, "monthlyInterval1");
+if (Validator.isNull(monthlyInterval1Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		monthlyInterval1 = recurrence.getInterval();
+	}
+}
+
+int yearlyType = ParamUtil.getInteger(request, "yearlyType");
+String yearlyTypeParam = ParamUtil.getString(request, "yearlyType");
+if (Validator.isNull(yearlyTypeParam) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByMonthDay() == null) {
+			yearlyType = 1;
+		}
+	}
+}
+
+int yearlyMonth0 = ParamUtil.getInteger(request, "yearlyMonth0", Calendar.JANUARY);
+String yearlyMonth0Param = ParamUtil.getString(request, "yearlyMonth0");
+if (Validator.isNull(yearlyMonth0Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByMonth() == null) {
+			yearlyMonth0 = recurrence.getDtStart().get(Calendar.MONTH);
+		}
+		else {
+			yearlyMonth0 = recurrence.getByMonth()[0];
+		}
+	}
+}
+
+int yearlyDay0 = ParamUtil.getInteger(request, "yearlyDay0", 15);
+String yearlyDay0Param = ParamUtil.getString(request, "yearlyDay0");
+if (Validator.isNull(yearlyDay0Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByMonthDay() == null) {
+			yearlyDay0 = recurrence.getDtStart().get(Calendar.DATE);
+		}
+		else {
+			yearlyDay0 = recurrence.getByMonthDay()[0];
+		}
+	}
+}
+
+int yearlyInterval0 = ParamUtil.getInteger(request, "yearlyInterval0", 1);
+String yearlyInterval0Param = ParamUtil.getString(request, "yearlyInterval0");
+if (Validator.isNull(yearlyInterval0Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		yearlyInterval0 = recurrence.getInterval();
+	}
+}
+
+int yearlyPos = ParamUtil.getInteger(request, "yearlyPos", 1);
+String yearlyPosParam = ParamUtil.getString(request, "yearlyPos");
+if (Validator.isNull(yearlyPosParam) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByDay() != null) {
+			yearlyPos = recurrence.getByDay()[0].getDayPosition();
+		}
+	}
+}
+
+int yearlyDay1 = ParamUtil.getInteger(request, "yearlyDay1", Calendar.SUNDAY);
+String yearlyDay1Param = ParamUtil.getString(request, "yearlyDay1");
+if (Validator.isNull(yearlyDay1Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByDay() != null) {
+			yearlyDay1 = recurrence.getByDay()[0].getDayOfWeek();
+		}
+	}
+}
+
+int yearlyMonth1 = ParamUtil.getInteger(request, "yearlyMonth1", Calendar.JANUARY);
+String yearlyMonth1Param = ParamUtil.getString(request, "yearlyMonth1");
+if (Validator.isNull(yearlyMonth1Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		if (recurrence.getByMonth() != null) {
+			yearlyMonth1 = recurrence.getByMonth()[0];
+		}
+	}
+}
+
+int yearlyInterval1 = ParamUtil.getInteger(request, "yearlyInterval1", 1);
+String yearlyInterval1Param = ParamUtil.getString(request, "yearlyInterval1");
+if (Validator.isNull(yearlyInterval1Param) && (event != null)) {
+	if (event.getRepeating() && (recurrence != null)) {
+		yearlyInterval1 = recurrence.getInterval();
+	}
+}
+
+boolean weeklyPosSu = _getWeeklyDayPos(request, Calendar.SUNDAY, event, recurrence);
+boolean weeklyPosMo = _getWeeklyDayPos(request, Calendar.MONDAY, event, recurrence);
+boolean weeklyPosTu = _getWeeklyDayPos(request, Calendar.TUESDAY, event, recurrence);
+boolean weeklyPosWe = _getWeeklyDayPos(request, Calendar.WEDNESDAY, event, recurrence);
+boolean weeklyPosTh = _getWeeklyDayPos(request, Calendar.THURSDAY, event, recurrence);
+boolean weeklyPosFr = _getWeeklyDayPos(request, Calendar.FRIDAY, event, recurrence);
+boolean weeklyPosSa = _getWeeklyDayPos(request, Calendar.SATURDAY, event, recurrence);
+%>
+
+<aui:fieldset cssClass='<%= "taglib-input-repeat " + cssClass %>'>
+	<aui:col id="eventsContainer" width="<%= 25 %>">
+		<aui:field-wrapper label="repeat" name="recurrenceType">
+
+			<aui:input checked="<%= recurrenceType == Recurrence.NO_RECURRENCE %>" id="recurrenceTypeNever" label="never" name="recurrenceType" type="radio" value="<%= Recurrence.NO_RECURRENCE %>" />
+
+			<aui:input checked="<%= recurrenceType == Recurrence.DAILY %>" id="recurrenceTypeDaily" label="daily" name="recurrenceType" type="radio" value="<%= Recurrence.DAILY %>" />
+
+			<aui:input checked="<%= recurrenceType == Recurrence.WEEKLY %>" id="recurrenceTypeWeekly" label="weekly" name="recurrenceType" type="radio" value="<%= Recurrence.WEEKLY %>" />
+
+			<aui:input checked="<%= recurrenceType == Recurrence.MONTHLY %>" id="recurrenceTypeMonthly" label="monthly" name="recurrenceType" type="radio" value="<%= Recurrence.MONTHLY %>" />
+
+			<aui:input checked="<%= recurrenceType == Recurrence.YEARLY %>" id="recurrenceTypeYearly" label="yearly" name="recurrenceType" type="radio" value="<%= Recurrence.YEARLY %>" />
+		</aui:field-wrapper>
+	</aui:col>
+
+	<aui:col last="<%= true %>" width="<%= 75 %>">
+		<div class='<%= recurrenceType != Recurrence.NO_RECURRENCE ? "hide" : StringPool.BLANK %>' id="<portlet:namespace />recurrenceTypeNeverTable">
+			<liferay-ui:message key="do-not-repeat-this-event" />
+		</div>
+
+		<div class='<%= recurrenceType != Recurrence.DAILY ? "hide" : StringPool.BLANK %>' id="<portlet:namespace />recurrenceTypeDailyTable">
+			<aui:input checked="<%= dailyType == 0 %>" cssClass="input-container" inlineField="<%= true %>" label="recur-every" name="dailyType" type="radio" value="0" />
+
+			<aui:input inlineField="<%= true %>" inlineLabel="right" label="day-s" maxlength="3" name="dailyInterval" size="3" type="text" value="<%= dailyInterval %>" />
+
+			<aui:input checked="<%= (dailyType == 1) %>" label="every-weekday" name="dailyType" type="radio" value="1" />
+		</div>
+
+		<div class='<%= recurrenceType != Recurrence.WEEKLY ? "hide" : StringPool.BLANK %>' id="<portlet:namespace />recurrenceTypeWeeklyTable">
+			<aui:input inlineField="<%= true %>" inlineLabel="left" label="recur-every" maxlength="2" name="weeklyInterval" size="2" suffix="weeks-on" type="text" value="<%= weeklyInterval %>" />
+
+			<%
+			String[] days = CalendarUtil.getDays(locale);
+			%>
+
+			<aui:row cssClass="weekdays">
+				<aui:col width="<%= 25 %>">
+					<aui:input inlineLabel="right" label="<%= days[0] %>" name='<%= "weeklyDayPos" + Calendar.SUNDAY %>' type="checkbox" value="<%= weeklyPosSu %>" />
+
+					<aui:input inlineLabel="right" label="<%= days[4] %>" name='<%= "weeklyDayPos" + Calendar.THURSDAY %>' type="checkbox" value="<%= weeklyPosTh %>" />
+				</aui:col>
+
+				<aui:col width="<%= 25 %>">
+					<aui:input inlineLabel="right" label="<%= days[1] %>" name='<%= "weeklyDayPos" + Calendar.MONDAY %>' type="checkbox" value="<%= weeklyPosMo %>" />
+
+					<aui:input inlineLabel="right" label="<%= days[5] %>" name='<%= "weeklyDayPos" + Calendar.FRIDAY %>' type="checkbox" value="<%= weeklyPosFr %>" />
+				</aui:col>
+
+				<aui:col width="<%= 25 %>">
+					<aui:input inlineLabel="right" label="<%= days[2] %>" name='<%= "weeklyDayPos" + Calendar.TUESDAY %>' type="checkbox" value="<%= weeklyPosTu %>" />
+
+					<aui:input inlineLabel="right" label="<%= days[6] %>" name='<%= "weeklyDayPos" + Calendar.SATURDAY %>' type="checkbox" value="<%= weeklyPosSa %>" />
+				</aui:col>
+
+				<aui:col width="<%= 25 %>">
+					<aui:input inlineLabel="right" label="<%= days[3] %>" name='<%= "weeklyDayPos" + Calendar.WEDNESDAY %>' type="checkbox" value="<%= weeklyPosWe %>" />
+				</aui:col>
+			</aui:row>
+		</div>
+
+		<div class='<%= recurrenceType != Recurrence.MONTHLY ? "hide" : StringPool.BLANK %>' id="<portlet:namespace />recurrenceTypeMonthlyTable">
+			<span class="field-row">
+				<aui:input checked="<%= monthlyType == 0 %>" cssClass="input-container" inlineField="<%= true %>" label="day" name="monthlyType" type="radio" value="0" />
+
+				<aui:input inlineField="<%= true %>" inlineLabel="right" label="of-every" maxlength="2" name="monthlyDay0" size="2" type="text" value="<%= monthlyDay0 %>" />
+
+				<aui:input inlineField="<%= true %>" inlineLabel="right" label="month-s" maxlength="2" name="monthlyInterval0" size="2" type="text" value="<%= monthlyInterval0 %>" />
+			</span>
+
+			<span class="field-row">
+				<aui:input checked="<%= (monthlyType == 1) %>" cssClass="input-container" inlineField="<%= true %>" label="the" name="monthlyType" type="radio" value="1" />
+
+				<aui:select cssClass="input-container" inlineField="<%= true %>" inlineLabel="left" label="" name="monthlyPos">
+					<aui:option label="first" selected="<%= monthlyPos == 1 %>" value="1" />
+					<aui:option label="second" selected="<%= monthlyPos == 2 %>" value="2" />
+					<aui:option label="third" selected="<%= monthlyPos == 3 %>" value="3" />
+					<aui:option label="fourth" selected="<%= monthlyPos == 4 %>" value="4" />
+					<aui:option label="last" selected="<%= monthlyPos == -1 %>" value="-1" />
+				</aui:select>
+
+				<aui:select cssClass="input-container" inlineField="<%= true %>" label="" name="monthlyDay1">
+					<aui:option label="<%= days[0] %>" selected="<%= monthlyDay1 == Calendar.SUNDAY %>" value="<%= Calendar.SUNDAY %>" />
+					<aui:option label="<%= days[1] %>" selected="<%= monthlyDay1 == Calendar.MONDAY %>" value="<%= Calendar.MONDAY %>" />
+					<aui:option label="<%= days[2] %>" selected="<%= monthlyDay1 == Calendar.TUESDAY %>" value="<%= Calendar.TUESDAY %>" />
+					<aui:option label="<%= days[3] %>" selected="<%= monthlyDay1 == Calendar.WEDNESDAY %>" value="<%= Calendar.WEDNESDAY %>" />
+					<aui:option label="<%= days[4] %>" selected="<%= monthlyDay1 == Calendar.THURSDAY %>" value="<%= Calendar.THURSDAY %>" />
+					<aui:option label="<%= days[5] %>" selected="<%= monthlyDay1 == Calendar.FRIDAY %>" value="<%= Calendar.FRIDAY %>" />
+					<aui:option label="<%= days[6] %>" selected="<%= monthlyDay1 == Calendar.SATURDAY %>" value="<%= Calendar.SATURDAY %>" />
+				</aui:select>
+
+				<aui:input inlineField="<%= true %>" inlineLabel="left" label="of-every" maxlength="2" name="monthlyInterval1" size="2" suffix="month-s" type="text" value="<%= monthlyInterval1 %>" />
+			</span>
+		</div>
+
+		<%
+		int[] monthIds = CalendarUtil.getMonthIds();
+		String[] months = CalendarUtil.getMonths(locale);
+		%>
+
+		<div class='<%= recurrenceType != Recurrence.YEARLY ? "hide" : StringPool.BLANK %>' id="<portlet:namespace />recurrenceTypeYearlyTable">
+			<span class="field-row">
+				<aui:input checked="<%= yearlyType == 0 %>" cssClass="input-container" inlineField="<%= true %>" label="every" name="yearlyType" type="radio" value="0" />
+
+				<aui:select cssClass="input-container" inlineField="<%= true %>" inlineLabel="left" label="" name="yearlyMonth0">
+
+				<%
+				for (int i = 0; i < 12; i++) {
+				%>
+
+					<aui:option label="<%= months[i] %>" selected="<%= monthIds[i] == yearlyMonth0 %>" value="<%= monthIds[i] %>" />
+
+				<%
+				}
+				%>
+
+				</aui:select>
+
+				<aui:input inlineField="<%= true %>" inlineLabel="right" label="of-every" maxlength="2" name="yearlyDay0" size="2" type="text" value="<%= yearlyDay0 %>" />
+
+				<aui:input inlineField="<%= true %>" inlineLabel="right" label="year-s" maxlength="2" name="yearlyInterval0" size="2" type="text" value="<%= yearlyInterval0 %>" />
+			</span>
+
+			<span class="field-row">
+				<aui:input checked="<%= yearlyType == 1 %>" cssClass="input-container" inlineField="<%= true %>" label="the" name="yearlyType" type="radio" value="1" />
+
+				<aui:select cssClass="input-container" inlineField="<%= true %>" label="" name="yearlyPos">
+					<aui:option label="first" selected="<%= yearlyPos == 1 %>" value="1" />
+					<aui:option label="second" selected="<%= yearlyPos == 2 %>" value="2" />
+					<aui:option label="third" selected="<%= yearlyPos == 3 %>" value="3" />
+					<aui:option label="fourth" selected="<%= yearlyPos == 4 %>" value="4" />
+					<aui:option label="last" selected="<%= yearlyPos == -1 %>" value="-1" />
+				</aui:select>
+
+				<aui:select cssClass="input-container" inlineField="<%= true %>" inlineLabel="right" label="of" name="yearlyDay1">
+					<aui:option label="<%= days[0] %>" selected="<%= yearlyDay1 == Calendar.SUNDAY %>" value="<%= Calendar.SUNDAY %>" />
+					<aui:option label="<%= days[1] %>" selected="<%= yearlyDay1 == Calendar.MONDAY %>" value="<%= Calendar.MONDAY %>" />
+					<aui:option label="<%= days[2] %>" selected="<%= yearlyDay1 == Calendar.TUESDAY %>" value="<%= Calendar.TUESDAY %>" />
+					<aui:option label="<%= days[3] %>" selected="<%= yearlyDay1 == Calendar.WEDNESDAY %>" value="<%= Calendar.WEDNESDAY %>" />
+					<aui:option label="<%= days[4] %>" selected="<%= yearlyDay1 == Calendar.THURSDAY %>" value="<%= Calendar.THURSDAY %>" />
+					<aui:option label="<%= days[5] %>" selected="<%= yearlyDay1 == Calendar.FRIDAY %>" value="<%= Calendar.FRIDAY %>" />
+					<aui:option label="<%= days[6] %>" selected="<%= yearlyDay1 == Calendar.SATURDAY %>" value="<%= Calendar.SATURDAY %>" />
+				</aui:select>
+
+				<aui:select cssClass="input-container" inlineField="<%= true %>" inlineLabel="right" label="of-every" name="yearlyMonth1">
+
+					<%
+					for (int i = 0; i < 12; i++) {
+					%>
+
+						<aui:option label="<%= months[i] %>" selected="<%= (monthIds[i] == yearlyMonth1) %>" value="<%= monthIds[i] %>" />
+
+					<%
+					}
+					%>
+
+				</aui:select>
+
+				<aui:input inlineField="<%= true %>" inlineLabel="right" label="year-s" maxlength="2" name="yearlyInterval1" size="2" type="text" value="<%= yearlyInterval1 %>" />
+			</span>
+		</div>
+	</aui:col>
+</aui:fieldset>
+
+<aui:script use="aui-base">
+	var tables = A.all('#<portlet:namespace />recurrenceTypeNeverTable, #<portlet:namespace />recurrenceTypeDailyTable, #<portlet:namespace />recurrenceTypeWeeklyTable, #<portlet:namespace />recurrenceTypeMonthlyTable, #<portlet:namespace />recurrenceTypeYearlyTable');
+
+	A.one('#<portlet:namespace />eventsContainer').delegate(
+		'change',
+		function(event) {
+			var currentTarget = event.currentTarget;
+
+			var tableId = currentTarget.attr('id') + 'Table';
+
+			tables.each(
+				function(item, index, collection) {
+					item.toggle(item.attr('id') == tableId);
+				}
+			);
+		},
+		'.field'
+	);
+</aui:script>
+
+<%!
+private boolean _getWeeklyDayPos(HttpServletRequest req, int day, CalEvent event, Recurrence recurrence) {
+	boolean weeklyPos = ParamUtil.getBoolean(req, "weeklyDayPos" + day);
+
+	String weeklyPosParam = ParamUtil.getString(req, "weeklyDayPos" + day);
+
+	if (Validator.isNull(weeklyPosParam) && (event != null)) {
+		if (event.getRepeating() && (recurrence != null)) {
+			DayAndPosition[] dayPositions = recurrence.getByDay();
+
+			if (dayPositions != null) {
+				for (int i = 0; i < dayPositions.length; i++) {
+					if (dayPositions[i].getDayOfWeek() == day) {
+						return true;
+					}
+				}
+			}
+		}
+	}
+
+	return weeklyPos;
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_resource/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_resource/page.jsp
new file mode 100644
index 0000000..6daf4bc
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_resource/page.jsp
@@ -0,0 +1,26 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-resource:cssClass"));
+String id = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-resource:id"));
+String title = (String)request.getAttribute("liferay-ui:input-resource:title");
+String url = (String)request.getAttribute("liferay-ui:input-resource:url");
+%>
+
+<input class="form-text lfr-input-resource <%= cssClass %>" <%= Validator.isNotNull(id) ? "id=\"" + namespace + id + "\"" : StringPool.BLANK %> onClick="Liferay.Util.selectAndCopy(this);" readonly="true" <%= Validator.isNotNull(title) ? "title=\"" + HtmlUtil.escapeAttribute(title) + "\"" : StringPool.BLANK %> type="text" value="<%= HtmlUtil.escapeAttribute(url) %>" />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_scheduler/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_scheduler/page.jsp
new file mode 100644
index 0000000..fe144ae
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_scheduler/page.jsp
@@ -0,0 +1,102 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<aui:fieldset>
+
+	<%
+	Calendar cal = CalendarFactoryUtil.getCalendar(timeZone, locale);
+
+	int hour = cal.get(Calendar.HOUR_OF_DAY);
+
+	if (DateUtil.isFormatAmPm(locale)) {
+		hour = cal.get(Calendar.HOUR);
+	}
+	%>
+
+	<aui:field-wrapper label="start-date">
+		<div class="field-row">
+			<liferay-ui:input-date
+				dayParam="schedulerStartDateDay"
+				dayValue="<%= cal.get(Calendar.DATE) %>"
+				disabled="<%= false %>"
+				firstDayOfWeek="<%= cal.getFirstDayOfWeek() - 1 %>"
+				monthParam="schedulerStartDateMonth"
+				monthValue="<%= cal.get(Calendar.MONTH) %>"
+				yearParam="schedulerStartDateYear"
+				yearValue="<%= cal.get(Calendar.YEAR) %>"
+			/>
+
+			&nbsp;
+
+			<liferay-ui:input-time
+				amPmParam="schedulerStartDateAmPm"
+				amPmValue="<%= cal.get(Calendar.AM_PM) %>"
+				hourParam="schedulerStartDateHour"
+				hourValue="<%= hour %>"
+				minuteParam="schedulerStartDateMinute"
+				minuteValue="<%= cal.get(Calendar.MINUTE) %>"
+			/>
+		</div>
+	</aui:field-wrapper>
+
+	<aui:field-wrapper label="end-date">
+		<aui:input checked="<%= true %>" id="schedulerNoEndDate" label="no-end-date" name="endDateType" type="radio" value="0" />
+		<aui:input first="<%= true %>" id="schedulerEndBy" label="end-by" name="endDateType" type="radio" value="1" />
+
+		<div class="field-row hide" id="<portlet:namespace />schedulerEndDateType">
+			<liferay-ui:input-date
+				dayParam="schedulerEndDateDay"
+				dayValue="<%= cal.get(Calendar.DATE) %>"
+				disabled="<%= false %>"
+				firstDayOfWeek="<%= cal.getFirstDayOfWeek() - 1 %>"
+				monthParam="schedulerEndDateMonth"
+				monthValue="<%= cal.get(Calendar.MONTH) %>"
+				yearParam="schedulerEndDateYear"
+				yearValue="<%= cal.get(Calendar.YEAR) %>"
+			/>
+
+			&nbsp;
+
+			<liferay-ui:input-time
+				amPmParam="schedulerEndDateAmPm"
+				amPmValue="<%= cal.get(Calendar.AM_PM) %>"
+				hourParam="schedulerEndDateHour"
+				hourValue="<%= hour %>"
+				minuteParam="schedulerEndDateMinute"
+				minuteValue="<%= cal.get(Calendar.MINUTE) %>"
+			/>
+		</div>
+	</aui:field-wrapper>
+</aui:fieldset>
+
+<liferay-ui:input-repeat />
+
+<aui:script>
+	function <portlet:namespace />showTable(id) {
+		document.getElementById("<portlet:namespace />neverTable").style.display = "none";
+		document.getElementById("<portlet:namespace />dailyTable").style.display = "none";
+		document.getElementById("<portlet:namespace />weeklyTable").style.display = "none";
+		document.getElementById("<portlet:namespace />monthlyTable").style.display = "none";
+		document.getElementById("<portlet:namespace />yearlyTable").style.display = "none";
+
+		document.getElementById(id).style.display = "block";
+	}
+
+	Liferay.Util.toggleRadio('<portlet:namespace />schedulerEndBy', '<portlet:namespace />schedulerEndDateType');
+	Liferay.Util.toggleRadio('<portlet:namespace />schedulerNoEndDate', '', ['<portlet:namespace />schedulerEndDateType']);
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_search/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_search/page.jsp
new file mode 100644
index 0000000..0396aaa
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_search/page.jsp
@@ -0,0 +1,46 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+boolean autoFocus = GetterUtil.getBoolean(request.getAttribute("liferay-ui:input-search:autoFocus"));
+String buttonLabel = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-search:buttonLabel"));
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-search:cssClass"));
+String id = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-search:id"));
+String name = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-search:name"));
+String placeholder = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-search:placeholder"));
+boolean showButton = GetterUtil.getBoolean(request.getAttribute("liferay-ui:input-search:showButton"));
+String title = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-search:title"));
+
+String value = ParamUtil.getString(request, name);
+%>
+
+<div class="<%= cssClass %>">
+	<input class="search-query span9" id="<portlet:namespace /><%= id %>" name="<portlet:namespace /><%= name %>" placeholder="<%= placeholder %>" title="<%= title %>" type="text" value="<%= HtmlUtil.escapeAttribute(value) %>" />
+
+	<c:if test="<%= showButton %>">
+		<button class="btn" type="submit">
+			<%= buttonLabel %>
+		</button>
+	</c:if>
+</div>
+
+<c:if test="<%= autoFocus %>">
+	<aui:script>
+		Liferay.Util.focusFormField('#<%= namespace %><%= id %>');
+	</aui:script>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_select/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_select/page.jsp
new file mode 100644
index 0000000..e95e669
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_select/page.jsp
@@ -0,0 +1,31 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-select:cssClass"));
+String param = (String)request.getAttribute("liferay-ui:input-select:param");
+Boolean defaultValue = (Boolean)request.getAttribute("liferay-ui:input-select:defaultValue");
+boolean disabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-select:disabled"));
+
+boolean value = ParamUtil.getBoolean(request, param, defaultValue.booleanValue());
+%>
+
+<select class="<%= cssClass %>" <%= disabled ? "disabled=\"disabled\"" : "" %> name="<%= namespace %><%= param %>">
+	<option <%= (value) ? "selected" : "" %> value="1"><liferay-ui:message key="yes" /></option>
+	<option <%= (!value) ? "selected" : "" %> value="0"><liferay-ui:message key="no" /></option>
+</select>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_textarea/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_textarea/page.jsp
new file mode 100644
index 0000000..d7cb560
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_textarea/page.jsp
@@ -0,0 +1,38 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-textarea:cssClass"));
+String param = (String)request.getAttribute("liferay-ui:input-textarea:param");
+String paramId = (String)request.getAttribute("liferay-ui:input-textarea:paramId");
+String defaultValue = (String)request.getAttribute("liferay-ui:input-textarea:defaultValue");
+boolean disabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-textarea:disabled"));
+
+String value = ParamUtil.getString(request, param, defaultValue);
+%>
+
+<textarea class="lfr-textarea <%= cssClass %>" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= namespace %><%= paramId %>" name="<%= namespace %><%= param %>" wrap="soft" onKeyDown="Liferay.Util.disableEsc();"><%= HtmlUtil.escape(value) %></textarea>
+
+<aui:script use="aui-char-counter">
+	new A.CharCounter(
+		{
+			input: '#<%= namespace %><%= paramId %>',
+			maxLength: <%= ModelHintsConstants.TEXTAREA_MAX_LENGTH %>
+		}
+	);
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_time/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_time/page.jsp
new file mode 100644
index 0000000..4ee3d20
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_time/page.jsp
@@ -0,0 +1,171 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_input_time_page") + StringPool.UNDERLINE;
+
+String amPmParam = namespace + request.getAttribute("liferay-ui:input-time:amPmParam");
+int amPmValue = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:input-time:amPmValue"));
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-time:cssClass"));
+String dateParam = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-time:dateParam"));
+Date dateValue = (Date)GetterUtil.getObject(request.getAttribute("liferay-ui:input-time:dateValue"));
+boolean disabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-time:disabled"));
+String hourParam = namespace + request.getAttribute("liferay-ui:input-time:hourParam");
+int hourValue = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:input-time:hourValue"));
+String minuteParam = namespace + request.getAttribute("liferay-ui:input-time:minuteParam");
+int minuteValue = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:input-time:minuteValue"));
+int minuteInterval = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:input-time:minuteInterval"));
+String name = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-time:name"));
+
+if (minuteInterval < 1) {
+	minuteInterval = 30;
+}
+
+Calendar calendar = CalendarFactoryUtil.getCalendar(1970, 0, 1, hourValue, minuteValue);
+
+String simpleDateFormatPattern = _SIMPLE_DATE_FORMAT_PATTERN_ISO;
+
+if (BrowserSnifferUtil.isMobile(request)) {
+	simpleDateFormatPattern = _SIMPLE_DATE_FORMAT_PATTERN_HTML5;
+}
+else if (DateUtil.isFormatAmPm(locale)) {
+	simpleDateFormatPattern = _SIMPLE_DATE_FORMAT_PATTERN;
+}
+
+String placeholder = _PLACEHOLDER_DEFAULT;
+
+if (!DateUtil.isFormatAmPm(locale)) {
+	placeholder = _PLACEHOLDER_ISO;
+}
+
+if (amPmValue > 0) {
+	calendar.set(Calendar.AM_PM, Calendar.PM);
+}
+
+calendar.set(Calendar.AM_PM, amPmValue);
+
+Format format = FastDateFormatFactoryUtil.getSimpleDateFormat(simpleDateFormatPattern, locale);
+%>
+
+<span class="lfr-input-time <%= cssClass %>" id="<%= randomNamespace %>displayTime">
+	<c:choose>
+		<c:when test="<%= BrowserSnifferUtil.isMobile(request) %>">
+			<input class="input-small" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= namespace + name %>" name="<%= namespace + name %>" type="time" value="<%= format.format(calendar.getTime()) %>" />
+		</c:when>
+		<c:otherwise>
+			<input class="input-small" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= namespace + name %>" name="<%= namespace + name %>" type="text" placeholder="<%= placeholder %>" value="<%= format.format(calendar.getTime()) %>" />
+		</c:otherwise>
+	</c:choose>
+
+	<input <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= hourParam %>" name="<%= hourParam %>" type="hidden" value="<%= hourValue %>" />
+	<input <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= minuteParam %>" name="<%= minuteParam %>" type="hidden" value="<%= minuteValue %>" />
+	<input <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= amPmParam %>" name="<%= amPmParam %>" type="hidden" value="<%= amPmValue %>" />
+	<input <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= dateParam %>" name="<%= dateParam %>" type="hidden" value="<%= dateValue %>" />
+</span>
+
+<aui:script use='<%= "aui-timepicker" + (BrowserSnifferUtil.isMobile(request) ? "-native" : StringPool.BLANK) %>'>
+	Liferay.component(
+		'<%= namespace + name %>TimePicker',
+		function() {
+			var timePicker = new A.TimePicker<%= BrowserSnifferUtil.isMobile(request) ? "Native" : StringPool.BLANK %>(
+				{
+					container: '#<%= randomNamespace %>displayTime',
+					mask: '<%= DateUtil.isFormatAmPm(locale) ? "%I:%M %p" : "%H:%M" %>',
+					on: {
+						selectionChange: function(event) {
+							var instance = this;
+
+							var container = instance.get('container');
+
+							var date = event.newSelection[0];
+
+							var hours = date.getHours();
+
+							var amPm = 0;
+
+							<c:if test="<%= DateUtil.isFormatAmPm(locale) %>">
+								if (hours > 11) {
+									amPm = 1;
+									hours -= 12;
+								}
+							</c:if>
+
+							if (date) {
+								container.one('#<%= hourParam %>').val(hours);
+								container.one('#<%= minuteParam %>').val(date.getMinutes());
+								container.one('#<%= amPmParam %>').val(amPm);
+								container.one('#<%= dateParam %>').val(date);
+							}
+						}
+					},
+					popover: {
+						zIndex: Liferay.zIndex.TOOLTIP
+					},
+					trigger: '#<%= namespace + name %>',
+					values: <%= _getHoursJSONArray(minuteInterval, locale) %>
+				}
+			);
+
+			timePicker.getTime = function() {
+				var instance = this;
+
+				var container = instance.get('container');
+
+				return A.Date.parse(container.one('#<%= dateParam %>').val());
+			};
+
+			return timePicker;
+		}
+	);
+
+	Liferay.component('<%= namespace + name %>TimePicker');
+</aui:script>
+
+<%!
+private JSONArray _getHoursJSONArray(int minuteInterval, Locale locale) throws Exception {
+	NumberFormat numberFormat = NumberFormat.getInstance(locale);
+
+	numberFormat.setMinimumIntegerDigits(2);
+
+	JSONArray hoursJSONArray = JSONFactoryUtil.createJSONArray();
+
+	for (int h = 0; h < 24; h++) {
+		for (int m = 0; m < 60; m += minuteInterval) {
+			StringBundler sb = new StringBundler(3);
+
+			sb.append(numberFormat.format(h));
+			sb.append(StringPool.COLON);
+			sb.append(numberFormat.format(m));
+
+			hoursJSONArray.put(sb.toString());
+		}
+	}
+
+	return hoursJSONArray;
+}
+
+private static final String _SIMPLE_DATE_FORMAT_PATTERN = "hh:mm a";
+
+private static final String _SIMPLE_DATE_FORMAT_PATTERN_HTML5 = "HH:mm";
+
+private static final String _SIMPLE_DATE_FORMAT_PATTERN_ISO = "HH:mm";
+
+private static final String _PLACEHOLDER_DEFAULT = "h:mm am/pm";
+
+private static final String _PLACEHOLDER_ISO = "h:mm";
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_time_zone/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_time_zone/init.jsp
new file mode 100644
index 0000000..58b6dda
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_time_zone/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portal.kernel.util.TimeZoneComparator" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_time_zone/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_time_zone/page.jsp
new file mode 100644
index 0000000..2ad265c
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/input_time_zone/page.jsp
@@ -0,0 +1,77 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/input_time_zone/init.jsp" %>
+
+<%
+boolean autoFocus = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-time-zone:autoFocus"));
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:input-time-zone:cssClass"));
+boolean daylight = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-time-zone:daylight"));
+boolean disabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-time-zone:disabled"));
+int displayStyle = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:input-time-zone:displayStyle"));
+String name = namespace + request.getAttribute("liferay-ui:input-time-zone:name");
+boolean nullable = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:input-time-zone:nullable"));
+String value = (String)request.getAttribute("liferay-ui:input-time-zone:value");
+
+NumberFormat numberFormat = NumberFormat.getInstance(locale);
+
+numberFormat.setMinimumIntegerDigits(2);
+%>
+
+<select class="<%= cssClass %>" <%= disabled ? "disabled=\"disabled\"" : "" %> id="<%= name %>" name="<%= name %>">
+	<c:if test="<%= nullable %>">
+		<option value=""></option>
+	</c:if>
+
+	<%
+	Set<TimeZone> timeZones = new TreeSet<TimeZone>(new TimeZoneComparator(locale));
+
+	for (String timeZoneId : PropsUtil.getArray(PropsKeys.TIME_ZONES)) {
+		TimeZone curTimeZone = TimeZoneUtil.getTimeZone(timeZoneId);
+
+		timeZones.add(curTimeZone);
+	}
+
+	for (TimeZone curTimeZone : timeZones) {
+		String offset = StringPool.BLANK;
+
+		int rawOffset = curTimeZone.getRawOffset();
+
+		if (rawOffset > 0) {
+			offset = "+";
+		}
+
+		if (rawOffset != 0) {
+			String offsetHour = numberFormat.format(rawOffset / Time.HOUR);
+			String offsetMinute = numberFormat.format(Math.abs(rawOffset % Time.HOUR) / Time.MINUTE);
+
+			offset += offsetHour + ":" + offsetMinute;
+		}
+	%>
+
+		<option <%= value.equals(curTimeZone.getID()) ? "selected" : "" %> value="<%= curTimeZone.getID() %>">(UTC <%= offset %>) <%= curTimeZone.getDisplayName(daylight, displayStyle, locale) %></option>
+
+	<%
+	}
+	%>
+
+</select>
+
+<c:if test="<%= autoFocus %>">
+	<aui:script>
+		Liferay.Util.focusFormField('#<%= name %>');
+	</aui:script>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_article/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_article/init.jsp
new file mode 100644
index 0000000..8e333c4
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_article/init.jsp
@@ -0,0 +1,22 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.journal.model.JournalArticleResource" %><%@
+page import="com.liferay.portlet.journal.service.JournalArticleResourceLocalServiceUtil" %>
+
+<portlet:defineObjects />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_article/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_article/page.jsp
new file mode 100644
index 0000000..561eef7
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_article/page.jsp
@@ -0,0 +1,67 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/journal_article/init.jsp" %>
+
+<%
+long articleResourcePrimKey = GetterUtil.getLong((String)request.getAttribute("liferay-ui:journal-article:articleResourcePrimKey"));
+long groupId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:journal-article:groupId"));
+String articleId = GetterUtil.getString((String)request.getAttribute("liferay-ui:journal-article:articleId"));
+String templateId = GetterUtil.getString((String)request.getAttribute("liferay-ui:journal-article:templateId"));
+String languageId = GetterUtil.getString((String)request.getAttribute("liferay-ui:journal-article:languageId"), LanguageUtil.getLanguageId(request));
+int articlePage = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:journal-article:articlePage"));
+
+String xmlRequest = GetterUtil.getString((String)request.getAttribute("liferay-ui:journal-article:xmlRequest"));
+
+if (Validator.isNull(xmlRequest) && (portletRequest != null) && (portletResponse != null)) {
+	xmlRequest = PortletRequestUtil.toXML(portletRequest, portletResponse);
+}
+
+boolean showTitle = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:journal-article:showTitle"));
+boolean showAvailableLocales = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:journal-article:showAvailableLocales"));
+
+if (articleResourcePrimKey > 0) {
+	JournalArticleResource articleResource = JournalArticleResourceLocalServiceUtil.getArticleResource(articleResourcePrimKey);
+
+	groupId = articleResource.getGroupId();
+	articleId = articleResource.getArticleId();
+}
+
+JournalArticleDisplay articleDisplay = JournalContentUtil.getDisplay(groupId, articleId, templateId, null, languageId, themeDisplay, articlePage, xmlRequest);
+%>
+
+<c:if test="<%= articleDisplay != null %>">
+	<c:if test="<%= showTitle %>">
+		<h3 class="journal-content-title"><%= articleDisplay.getTitle() %></h3>
+	</c:if>
+
+	<c:if test="<%= showAvailableLocales %>">
+
+		<%
+		String[] availableLocales = articleDisplay.getAvailableLocales();
+		%>
+
+		<c:if test="<%= availableLocales.length > 1 %>">
+			<div>
+				<br />
+
+				<liferay-ui:language displayStyle="<%= 0 %>" languageIds="<%= availableLocales %>" />
+			</div>
+		</c:if>
+	</c:if>
+
+	<%= RuntimePageUtil.processXML(request, response, articleDisplay.getContent()) %>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_content_search/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_content_search/init.jsp
new file mode 100644
index 0000000..8885da0
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_content_search/init.jsp
@@ -0,0 +1,21 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+namespace = "_" + PortletKeys.JOURNAL_CONTENT_SEARCH + "_";
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_content_search/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_content_search/start.jsp
new file mode 100644
index 0000000..460f5ab
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/journal_content_search/start.jsp
@@ -0,0 +1,64 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/journal_content_search/init.jsp" %>
+
+<%
+boolean showListed = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:journal-content-search:showListed"));
+String targetPortletId = (String)request.getAttribute("liferay-ui:journal-content-search:targetPortletId");
+String type = (String)request.getAttribute("liferay-ui:journal-content-search:type");
+
+String defaultKeywords = LanguageUtil.get(pageContext, "search") + StringPool.TRIPLE_PERIOD;
+String unicodeDefaultKeywords = UnicodeFormatter.toString(defaultKeywords);
+
+String keywords = ParamUtil.getString(request, namespace + "keywords", defaultKeywords);
+
+PortletURL portletURL = null;
+
+if (portletResponse != null) {
+	LiferayPortletResponse liferayPortletResponse = (LiferayPortletResponse)portletResponse;
+
+	portletURL = liferayPortletResponse.createLiferayPortletURL(PortletKeys.JOURNAL_CONTENT_SEARCH, PortletRequest.RENDER_PHASE);
+}
+else {
+	portletURL = new PortletURLImpl(request, PortletKeys.JOURNAL_CONTENT_SEARCH, plid, PortletRequest.RENDER_PHASE);
+}
+
+portletURL.setParameter("struts_action", "/journal_content_search/search");
+portletURL.setParameter("showListed", String.valueOf(showListed));
+
+if (Validator.isNotNull(targetPortletId)) {
+	portletURL.setParameter("targetPortletId", targetPortletId);
+}
+
+if (Validator.isNotNull(type)) {
+	portletURL.setParameter("type", type);
+}
+
+portletURL.setPortletMode(PortletMode.VIEW);
+portletURL.setWindowState(WindowState.MAXIMIZED);
+%>
+
+<form action="<%= HtmlUtil.escape(portletURL.toString()) %>" class="form" method="post" name="<%= namespace %>fm" onSubmit="submitForm(this); return false;">
+
+<%
+String taglibOnBlur = "if (this.value == '') { this.value = '" + unicodeDefaultKeywords + "'; }";
+String taglibOnFocus = "if (this.value == '" + unicodeDefaultKeywords + "') { this.value = ''; }";
+%>
+
+<aui:input cssClass="lfr-search-keywords" inlineField="<%= true %>" label="" name="keywords" onBlur="<%= taglibOnBlur %>" onFocus="<%= taglibOnFocus %>" size="30" title="search-web-content" type="text" value="<%= HtmlUtil.escape(keywords) %>" />
+
+<aui:input alt="search" cssClass="lfr-search-button" inlineField="<%= true %>" label="" name="search" src='<%= themeDisplay.getPathThemeImages() + "/common/search.png" %>' type="image" />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/language/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/language/init.jsp
new file mode 100644
index 0000000..bf343f2
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/language/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.taglib.ui.LanguageTag" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/language/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/language/page.jsp
new file mode 100644
index 0000000..99ba251
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/language/page.jsp
@@ -0,0 +1,161 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/language/init.jsp" %>
+
+<%
+String formName = (String)request.getAttribute("liferay-ui:language:formName");
+
+String formAction = (String)request.getAttribute("liferay-ui:language:formAction");
+
+if (Validator.isNull(formAction)) {
+	LiferayPortletURL liferayPortletURL = null;
+
+	if (portletResponse != null) {
+		LiferayPortletResponse liferayPortletResponse = (LiferayPortletResponse)portletResponse;
+
+		liferayPortletURL = liferayPortletResponse.createLiferayPortletURL(PortletKeys.LANGUAGE, PortletRequest.ACTION_PHASE);
+	}
+	else {
+		liferayPortletURL = new PortletURLImpl(request, PortletKeys.LANGUAGE, plid, PortletRequest.ACTION_PHASE);
+	}
+
+	liferayPortletURL.setAnchor(false);
+	liferayPortletURL.setParameter("struts_action", "/language/view");
+	liferayPortletURL.setParameter("redirect", currentURL);
+	liferayPortletURL.setPortletMode(PortletMode.VIEW);
+	liferayPortletURL.setWindowState(WindowState.NORMAL);
+
+	formAction = liferayPortletURL.toString();
+}
+
+boolean displayCurrentLocale = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:language:displayCurrentLocale"), true);
+int displayStyle = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:language:displayStyle"));
+String languageId = GetterUtil.getString((String)request.getAttribute("liferay-ui:language:languageId"), LocaleUtil.toLanguageId(locale));
+Locale[] locales = (Locale[])request.getAttribute("liferay-ui:language:locales");
+String name = (String)request.getAttribute("liferay-ui:language:name");
+
+Map langCounts = new HashMap();
+
+for (int i = 0; i < locales.length; i++) {
+	Integer count = (Integer)langCounts.get(locales[i].getLanguage());
+
+	if (count == null) {
+		count = new Integer(1);
+	}
+	else {
+		count = new Integer(count.intValue() + 1);
+	}
+
+	langCounts.put(locales[i].getLanguage(), count);
+}
+
+Set<String> duplicateLanguages = new HashSet<String>();
+
+for (int i = 0; i < locales.length; i++) {
+	Integer count = (Integer)langCounts.get(locales[i].getLanguage());
+
+	if (count.intValue() != 1) {
+		duplicateLanguages.add(locales[i].getLanguage());
+	}
+}
+%>
+
+<c:choose>
+	<c:when test="<%= displayStyle == LanguageTag.SELECT_BOX %>">
+		<aui:form action="<%= formAction %>" method="post" name="<%= formName %>">
+			<aui:select changesContext="<%= true %>" label="" name="<%= name %>" onChange='<%= "submitForm(document." + namespace + formName + ");" %>' title="language">
+
+				<%
+				for (int i = 0; i < locales.length; i++) {
+				%>
+
+					<aui:option cssClass="taglib-language-option" label="<%= LocaleUtil.getLongDisplayName(locales[i], duplicateLanguages) %>" lang="<%= LocaleUtil.toW3cLanguageId(locales[i]) %>" selected="<%= (locale.getLanguage().equals(locales[i].getLanguage()) && locale.getCountry().equals(locales[i].getCountry())) %>" value="<%= LocaleUtil.toLanguageId(locales[i]) %>" />
+
+				<%
+				}
+				%>
+
+			</aui:select>
+		</aui:form>
+
+		<aui:script>
+
+			<%
+			for (int i = 0; i < locales.length; i++) {
+			%>
+
+				document.<%= namespace + formName %>.<%= namespace + name %>.options[<%= i %>].style.backgroundImage = "url(<%= themeDisplay.getPathThemeImages() %>/language/<%= LocaleUtil.toLanguageId(locales[i]) %>.png)";
+
+			<%
+			}
+			%>
+
+		</aui:script>
+	</c:when>
+	<c:otherwise>
+
+		<%
+		for (int i = 0; i < locales.length; i++) {
+			String currentLanguageId = LocaleUtil.toLanguageId(locales[i]);
+
+			if (!displayCurrentLocale && languageId.equals(currentLanguageId)) {
+				continue;
+			}
+
+			String cssClassName = "taglib-language-list-text";
+
+			if ((i + 1) == locales.length) {
+				cssClassName += " last";
+			}
+
+			String localeDisplayName = null;
+
+			if (displayStyle == LanguageTag.LIST_SHORT_TEXT) {
+				localeDisplayName = LocaleUtil.getShortDisplayName(locales[i], duplicateLanguages);
+			}
+			else {
+				localeDisplayName = LocaleUtil.getLongDisplayName(locales[i], duplicateLanguages);
+			}
+		%>
+
+			<c:choose>
+				<c:when test="<%= (displayStyle == LanguageTag.LIST_LONG_TEXT) || (displayStyle == LanguageTag.LIST_SHORT_TEXT) %>">
+					<c:choose>
+						<c:when test="<%= languageId.equals(currentLanguageId) %>">
+							<span class="<%= cssClassName %>" lang="<%= LocaleUtil.toW3cLanguageId(locales[i]) %>"><%= localeDisplayName %></span>
+						</c:when>
+						<c:otherwise>
+							<aui:a cssClass="<%= cssClassName %>" href="<%= HttpUtil.addParameter(formAction, namespace + name, currentLanguageId) %>" lang="<%= LocaleUtil.toW3cLanguageId(locales[i]) %>"><%= localeDisplayName %></aui:a>
+						</c:otherwise>
+					</c:choose>
+				</c:when>
+				<c:otherwise>
+					<liferay-ui:icon
+						image='<%= "../language/" + currentLanguageId %>'
+						lang="<%= LocaleUtil.toW3cLanguageId(locales[i]) %>"
+						message="<%= LocaleUtil.getLongDisplayName(locales[i], duplicateLanguages) %>"
+						url="<%= languageId.equals(currentLanguageId) ? null : HttpUtil.setParameter(formAction, namespace + name, currentLanguageId) %>"
+					/>
+				</c:otherwise>
+			</c:choose>
+
+		<%
+		}
+		%>
+
+	</c:otherwise>
+</c:choose>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/logo_selector/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/logo_selector/init.jsp
new file mode 100644
index 0000000..f83e461
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/logo_selector/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<portlet:defineObjects />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/logo_selector/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/logo_selector/page.jsp
new file mode 100644
index 0000000..79dea9a
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/logo_selector/page.jsp
@@ -0,0 +1,69 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/logo_selector/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_logo_selector") + StringPool.UNDERLINE;
+
+String defaultLogoURL = (String)request.getAttribute("liferay-ui:logo-selector:defaultLogoURL");
+String editLogoURL = (String)request.getAttribute("liferay-ui:logo-selector:editLogoURL");
+long imageId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:logo-selector:imageId"));
+String logoDisplaySelector = (String)request.getAttribute("liferay-ui:logo-selector:logoDisplaySelector");
+boolean showBackground = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:logo-selector:showBackground"));
+
+boolean deleteLogo = ParamUtil.getBoolean(request, "deleteLogo");
+
+String imageSrc = null;
+
+if (deleteLogo || (imageId == 0)) {
+	imageSrc = defaultLogoURL;
+}
+else {
+	imageSrc = themeDisplay.getPathImage() + "/logo?img_id=" + imageId + "&t" + WebServerServletTokenUtil.getToken(imageId);
+}
+%>
+
+<div class="taglib-logo-selector" id="<%= randomNamespace %>taglibLogoSelector">
+	<div class="taglib-logo-selector-content" id="<%= randomNamespace %>taglibLogoSelectorContent">
+		<a class='lfr-change-logo <%= showBackground ? "show-background" : StringPool.BLANK %>' href="javascript:;">
+			<img alt="<liferay-ui:message key="change-logo" />" class="img-polaroid avatar" id="<%= randomNamespace %>avatar" src="<%= imageSrc %>" />
+		</a>
+
+		<div class="portrait-icons">
+			<div class="btn-group">
+				<aui:button cssClass="btn edit-logo" icon="icon-picture" value="change" />
+				<aui:button cssClass="btn delete-logo" disabled="<%= (imageId == 0) %>" icon="icon-remove" value="delete" />
+			</div>
+
+			<aui:input name="deleteLogo" type="hidden" value="<%= deleteLogo %>" />
+		</div>
+	</div>
+</div>
+
+<aui:script use="liferay-logo-selector">
+	new Liferay.LogoSelector(
+		{
+			boundingBox: '#<%= randomNamespace %>taglibLogoSelector',
+			contentBox: '#<%= randomNamespace %>taglibLogoSelectorContent',
+			defaultLogoURL: '<%= defaultLogoURL %>',
+			editLogoURL: '<%= editLogoURL %>',
+			randomNamespace: '<%= randomNamespace %>',
+			logoDisplaySelector: '<%= logoDisplaySelector %>',
+			portletNamespace: '<portlet:namespace />'
+		}
+	).render();
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/membership_policy_error/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/membership_policy_error/init.jsp
new file mode 100644
index 0000000..18968bf
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/membership_policy_error/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portal.security.membershippolicy.MembershipPolicyException" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/membership_policy_error/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/membership_policy_error/page.jsp
new file mode 100644
index 0000000..50501e5
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/membership_policy_error/page.jsp
@@ -0,0 +1,53 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/membership_policy_error/init.jsp" %>
+
+<liferay-ui:error exception="<%= MembershipPolicyException.class %>">
+
+	<%
+	MembershipPolicyException mpe = (MembershipPolicyException)errorException;
+
+	List<User> users = mpe.getUsers();
+	%>
+
+	<c:choose>
+		<c:when test="<%= mpe.getType() == MembershipPolicyException.ORGANIZATION_MEMBERSHIP_NOT_ALLOWED %>">
+			<liferay-ui:message arguments='<%= new Object[] {ListUtil.toString(users, "fullName", StringPool.COMMA_AND_SPACE), ListUtil.toString(mpe.getOrganizations(), "name", StringPool.COMMA_AND_SPACE)} %>' key='<%= users.size() == 1 ? "x-is-not-allowed-to-join-x" : "the-following-users-are-not-allowed-to-join-x-x" %>' />
+		</c:when>
+		<c:when test="<%= mpe.getType() == MembershipPolicyException.ORGANIZATION_MEMBERSHIP_REQUIRED %>">
+			<liferay-ui:message arguments='<%= new Object[] {ListUtil.toString(users, "fullName", StringPool.COMMA_AND_SPACE), ListUtil.toString(mpe.getOrganizations(), "name", StringPool.COMMA_AND_SPACE)} %>' key='<%= users.size() == 1 ? "x-is-not-allowed-to-leave-x" : "the-following-users-are-not-allowed-to-leave-x-x" %>' />
+		</c:when>
+		<c:when test="<%= mpe.getType() == MembershipPolicyException.ROLE_MEMBERSHIP_NOT_ALLOWED %>">
+			<liferay-ui:message arguments='<%= new Object[] {ListUtil.toString(users, "fullName", StringPool.COMMA_AND_SPACE), ListUtil.toString(mpe.getRoles(), "title", StringPool.COMMA_AND_SPACE)} %>' key='<%= users.size() == 1 ? "x-cannot-be-assigned-to-x" : "the-following-users-cannot-be-assigned-to-x-x" %>' />
+		</c:when>
+		<c:when test="<%= mpe.getType() == MembershipPolicyException.ROLE_MEMBERSHIP_REQUIRED %>">
+			<liferay-ui:message arguments='<%= new Object[] {ListUtil.toString(users, "fullName", StringPool.COMMA_AND_SPACE), ListUtil.toString(mpe.getRoles(), "title", StringPool.COMMA_AND_SPACE)} %>' key='<%= users.size() == 1 ? "x-cannot-be-unassigned-from-x" : "the-following-users-cannot-be-unassigned-from-x-x" %>' />
+		</c:when>
+		<c:when test="<%= mpe.getType() == MembershipPolicyException.SITE_MEMBERSHIP_NOT_ALLOWED %>">
+			<liferay-ui:message arguments='<%= new Object[] {ListUtil.toString(users, "fullName", StringPool.COMMA_AND_SPACE), ListUtil.toString(mpe.getGroups(), "descriptiveName", StringPool.COMMA_AND_SPACE)} %>' key='<%= users.size() == 1 ? "x-is-not-allowed-to-join-x" : "the-following-users-are-not-allowed-to-join-x-x" %>' />
+		</c:when>
+		<c:when test="<%= mpe.getType() == MembershipPolicyException.SITE_MEMBERSHIP_REQUIRED %>">
+			<liferay-ui:message arguments='<%= new Object[] {ListUtil.toString(users, "fullName", StringPool.COMMA_AND_SPACE), ListUtil.toString(mpe.getGroups(), "descriptiveName", StringPool.COMMA_AND_SPACE)} %>' key='<%= users.size() == 1 ? "x-is-not-allowed-to-leave-x" : "the-following-users-are-not-allowed-to-leave-x-x" %>' />
+		</c:when>
+		<c:when test="<%= mpe.getType() == MembershipPolicyException.USER_GROUP_MEMBERSHIP_NOT_ALLOWED %>">
+			<liferay-ui:message arguments='<%= new Object[] {ListUtil.toString(users, "fullName", StringPool.COMMA_AND_SPACE), ListUtil.toString(mpe.getUserGroups(), "name", StringPool.COMMA_AND_SPACE)} %>' key='<%= users.size() == 1 ? "x-are-not-allowed-to-join-x" : "the-following-users-are-not-allowed-to-join-x-x" %>' />
+		</c:when>
+		<c:when test="<%= mpe.getType() == MembershipPolicyException.USER_GROUP_MEMBERSHIP_REQUIRED %>">
+			<liferay-ui:message arguments='<%= new Object[] {ListUtil.toString(users, "fullName", StringPool.COMMA_AND_SPACE), ListUtil.toString(mpe.getUserGroups(), "name", StringPool.COMMA_AND_SPACE)} %>' key='<%= users.size() == 1 ? "x-are-not-allowed-to-leave-x" : "the-following-users-are-not-allowed-to-leave-x-x" %>' />
+		</c:when>
+	</c:choose>
+</liferay-ui:error>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/my_sites/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/my_sites/page.jsp
new file mode 100644
index 0000000..12fc42d
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/my_sites/page.jsp
@@ -0,0 +1,379 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String[] classNames = (String[])request.getAttribute("liferay-ui:my_sites:classNames");
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:my_sites:cssClass"));
+boolean includeControlPanel = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:my_sites:includeControlPanel"));
+int max = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:my_sites:max"));
+
+if (max <= 0) {
+	max = PropsValues.MY_SITES_MAX_ELEMENTS;
+}
+
+List<Group> mySiteGroups = user.getMySiteGroups(classNames, includeControlPanel, max);
+%>
+
+<c:if test="<%= !mySiteGroups.isEmpty() %>">
+	<ul class="taglib-my-sites <%= cssClass %>">
+
+		<%
+		PortletURL portletURL = new PortletURLImpl(request, PortletKeys.SITE_REDIRECTOR, plid, PortletRequest.ACTION_PHASE);
+
+		portletURL.setParameter("struts_action", "/my_sites/view");
+		portletURL.setPortletMode(PortletMode.VIEW);
+		portletURL.setWindowState(WindowState.NORMAL);
+
+		for (Group mySiteGroup : mySiteGroups) {
+			String escapedSiteName = HtmlUtil.escape(mySiteGroup.getName());
+
+			boolean showPublicSite = mySiteGroup.isShowSite(permissionChecker, false);
+			boolean showPrivateSite = mySiteGroup.isShowSite(permissionChecker, true);
+		%>
+
+			<c:if test="<%= showPublicSite || showPrivateSite %>">
+				<c:choose>
+					<c:when test='<%= PropsValues.MY_SITES_DISPLAY_STYLE.equals("simple") %>'>
+
+						<%
+						portletURL.setParameter("groupId", String.valueOf(mySiteGroup.getGroupId()));
+
+						boolean firstSite = false;
+
+						if (mySiteGroups.indexOf(mySiteGroup) == 0) {
+							firstSite = true;
+						}
+
+						boolean lastSite = false;
+
+						if (mySiteGroups.size() == (mySiteGroups.indexOf(mySiteGroup) + 1)) {
+							lastSite = true;
+						}
+
+						boolean selectedSite = false;
+
+						if (layout != null) {
+							if (layout.getGroupId() == mySiteGroup.getGroupId()) {
+								selectedSite = true;
+							}
+							else if (mySiteGroup.hasStagingGroup()) {
+								Group stagingGroup = mySiteGroup.getStagingGroup();
+
+								if (layout.getGroupId() == stagingGroup.getGroupId()) {
+									selectedSite = true;
+								}
+							}
+						}
+
+						String itemCssClass = StringPool.BLANK;
+
+						if (firstSite) {
+							itemCssClass += " first";
+						}
+
+						if (lastSite) {
+							itemCssClass += " last";
+						}
+
+						String iconCssClass = "icon-spacer";
+
+						portletURL.setParameter("privateLayout", Boolean.FALSE.toString());
+
+						long stagingGroupId = 0;
+
+						boolean showPublicSiteStaging = false;
+						boolean showPrivateSiteStaging = false;
+
+						if (mySiteGroup.hasStagingGroup()) {
+							Group stagingGroup = mySiteGroup.getStagingGroup();
+
+							stagingGroupId = stagingGroup.getGroupId();
+
+							if (GroupPermissionUtil.contains(permissionChecker, mySiteGroup.getGroupId(), ActionKeys.VIEW_STAGING)) {
+								if ((mySiteGroup.getPublicLayoutsPageCount() == 0) && (stagingGroup.getPublicLayoutsPageCount() > 0)) {
+									showPublicSiteStaging = true;
+								}
+
+								if ((mySiteGroup.getPrivateLayoutsPageCount() == 0) && (stagingGroup.getPrivateLayoutsPageCount() > 0)) {
+									showPrivateSiteStaging = true;
+								}
+							}
+						}
+						%>
+
+						<c:if test="<%= showPublicSite && ((mySiteGroup.getPublicLayoutsPageCount() > 0) || showPublicSiteStaging) %>">
+
+							<%
+							if (showPublicSiteStaging) {
+								portletURL.setParameter("groupId", String.valueOf(stagingGroupId));
+							}
+							%>
+
+							<li class="<%= (selectedSite && layout.isPublicLayout()) ? "active" : "public-site" %> <%= itemCssClass %>">
+								<a href="<%= HtmlUtil.escape(portletURL.toString()) %>" onclick="Liferay.Util.forcePost(this); return false;">
+
+									<%
+									String siteName = StringPool.BLANK;
+
+									if (mySiteGroup.isUser()) {
+										siteName = LanguageUtil.get(pageContext, "my-profile");
+									}
+									else if (escapedSiteName.equals(GroupConstants.GUEST)) {
+										siteName = themeDisplay.getAccount().getName();
+									}
+									else {
+										siteName = mySiteGroup.getDescriptiveName(locale);
+									}
+
+									if (showPublicSiteStaging) {
+										StringBundler sb = new StringBundler(5);
+
+										sb.append(HtmlUtil.escape(siteName));
+										sb.append(StringPool.SPACE);
+										sb.append(StringPool.OPEN_PARENTHESIS);
+										sb.append(LanguageUtil.get(pageContext, "staging"));
+										sb.append(StringPool.CLOSE_PARENTHESIS);
+
+										siteName = sb.toString();
+									}
+
+									if ((mySiteGroup.getPrivateLayoutsPageCount() > 0) || showPrivateSiteStaging) {
+										iconCssClass = "icon-eye-open";
+									}
+									%>
+
+									<%@ include file="/html/taglib/ui/my_sites/page_site_name.jspf" %>
+
+									<c:if test="<%= (mySiteGroup.getPrivateLayoutsPageCount() > 0) || showPrivateSiteStaging %>">
+										<span class="badge site-type"><liferay-ui:message key="public" /></span>
+									</c:if>
+								</a>
+							</li>
+
+							<%
+							if (showPublicSiteStaging) {
+								portletURL.setParameter("groupId", String.valueOf(mySiteGroup.getGroupId()));
+							}
+							%>
+
+						</c:if>
+
+						<%
+						portletURL.setParameter("privateLayout", Boolean.TRUE.toString());
+						%>
+
+						<c:if test="<%= showPrivateSite && ((mySiteGroup.getPrivateLayoutsPageCount() > 0) || showPrivateSiteStaging) %>">
+
+							<%
+							if (showPrivateSiteStaging) {
+								portletURL.setParameter("groupId", String.valueOf(stagingGroupId));
+							}
+							%>
+
+							<li class="<%= (selectedSite && layout.isPrivateLayout()) ? "active" : "private-site" %> <%= itemCssClass %>">
+								<a href="<%= HtmlUtil.escape(portletURL.toString()) %>" onclick="Liferay.Util.forcePost(this); return false;">
+
+									<%
+									String siteName = StringPool.BLANK;
+
+									if (mySiteGroup.isUser()) {
+										siteName = LanguageUtil.get(pageContext, "my-dashboard");
+									}
+									else if (escapedSiteName.equals(GroupConstants.GUEST)) {
+										siteName = themeDisplay.getAccount().getName();
+									}
+									else {
+										siteName = mySiteGroup.getDescriptiveName(locale);
+									}
+
+									if (showPrivateSiteStaging) {
+										StringBundler sb = new StringBundler(5);
+
+										sb.append(siteName);
+										sb.append(StringPool.SPACE);
+										sb.append(StringPool.OPEN_PARENTHESIS);
+										sb.append(LanguageUtil.get(pageContext, "staging"));
+										sb.append(StringPool.CLOSE_PARENTHESIS);
+
+										siteName = sb.toString();
+									}
+
+									if ((mySiteGroup.getPublicLayoutsPageCount() > 0) || showPublicSiteStaging) {
+										iconCssClass = "icon-eye-close";
+									}
+									%>
+
+									<%@ include file="/html/taglib/ui/my_sites/page_site_name.jspf" %>
+
+									<c:if test="<%= (mySiteGroup.getPublicLayoutsPageCount() > 0) || showPublicSiteStaging %>">
+										<span class="badge site-type"><liferay-ui:message key="private" /></span>
+									</c:if>
+								</a>
+							</li>
+
+							<%
+							if (showPrivateSiteStaging) {
+								portletURL.setParameter("groupId", String.valueOf(mySiteGroup.getGroupId()));
+							}
+							%>
+
+						</c:if>
+					</c:when>
+					<c:when test='<%= PropsValues.MY_SITES_DISPLAY_STYLE.equals("classic") %>'>
+
+						<%
+						String publicAddPageHREF = null;
+						String privateAddPageHREF = null;
+
+						if (mySiteGroup.isSite() && GroupPermissionUtil.contains(permissionChecker, mySiteGroup.getGroupId(), ActionKeys.ADD_LAYOUT)) {
+							PortletURL addPageURL = new PortletURLImpl(request, PortletKeys.SITE_REDIRECTOR, plid, PortletRequest.ACTION_PHASE);
+
+							addPageURL.setParameter("struts_action", "/my_sites/edit_layouts");
+							addPageURL.setParameter("redirect", currentURL);
+							addPageURL.setParameter("groupId", String.valueOf(mySiteGroup.getGroupId()));
+							addPageURL.setParameter("privateLayout", Boolean.FALSE.toString());
+							addPageURL.setPortletMode(PortletMode.VIEW);
+							addPageURL.setWindowState(WindowState.NORMAL);
+
+							publicAddPageHREF = addPageURL.toString();
+
+							addPageURL.setParameter("privateLayout", Boolean.TRUE.toString());
+
+							privateAddPageHREF = addPageURL.toString();
+						}
+						else if (mySiteGroup.isUser()) {
+							PortletURL publicAddPageURL = new PortletURLImpl(request, PortletKeys.MY_ACCOUNT, plid, PortletRequest.RENDER_PHASE);
+
+							publicAddPageURL.setParameter("struts_action", "/my_account/edit_layouts");
+							publicAddPageURL.setParameter("tabs1", "public-pages");
+							publicAddPageURL.setParameter("redirect", currentURL);
+							publicAddPageURL.setParameter("groupId", String.valueOf(mySiteGroup.getGroupId()));
+							publicAddPageURL.setPortletMode(PortletMode.VIEW);
+							publicAddPageURL.setWindowState(WindowState.MAXIMIZED);
+
+							publicAddPageHREF = publicAddPageURL.toString();
+
+							PortletURL privateAddPageURL = new PortletURLImpl(request, PortletKeys.MY_ACCOUNT, plid, PortletRequest.RENDER_PHASE);
+
+							privateAddPageURL.setParameter("struts_action", "/my_account/edit_layouts");
+							privateAddPageURL.setParameter("tabs1", "private-pages");
+							privateAddPageURL.setParameter("redirect", currentURL);
+							privateAddPageURL.setParameter("groupId", String.valueOf(mySiteGroup.getGroupId()));
+							privateAddPageURL.setPortletMode(PortletMode.VIEW);
+							privateAddPageURL.setWindowState(WindowState.MAXIMIZED);
+
+							privateAddPageHREF = privateAddPageURL.toString();
+						}
+
+						boolean selectedSite = false;
+
+						if (layout != null) {
+							if (layout.getGroupId() == mySiteGroup.getGroupId()) {
+								selectedSite = true;
+							}
+						}
+						%>
+
+						<li class="<%= selectedSite ? "active" : StringPool.BLANK %>">
+							<c:choose>
+								<c:when test="<%= mySiteGroup.isControlPanel() %>">
+									<h3>
+										<a href="<%= themeDisplay.getURLControlPanel() %>">
+											<%= escapedSiteName %>
+										</a>
+									</h3>
+								</c:when>
+								<c:otherwise>
+									<h3>
+										<a href="javascript:;">
+											<c:choose>
+												<c:when test="<%= mySiteGroup.isUser() %>">
+													<liferay-ui:message key="my-site" />
+												</c:when>
+												<c:otherwise>
+													<%= escapedSiteName %>
+												</c:otherwise>
+											</c:choose>
+										</a>
+									</h3>
+
+									<ul>
+
+										<%
+										portletURL.setParameter("groupId", String.valueOf(mySiteGroup.getGroupId()));
+										portletURL.setParameter("privateLayout", Boolean.FALSE.toString());
+										%>
+
+										<c:if test="<%= showPublicSite %>">
+											<li>
+												<a href="<%= (mySiteGroup.getPublicLayoutsPageCount() > 0) ? HtmlUtil.escape(portletURL.toString()) : "javascript:;" %>"
+
+												<c:if test="<%= mySiteGroup.isUser() %>">
+													id="my-site-public-pages"
+												</c:if>
+
+												<c:if test="<%= (mySiteGroup.getPublicLayoutsPageCount() > 0) %>">
+													onclick="Liferay.Util.forcePost(this); return false;"
+												</c:if>
+
+												><liferay-ui:message key="public-pages" /> <span class="page-count">(<%= mySiteGroup.getPublicLayoutsPageCount() %>)</span></a>
+
+												<c:if test="<%= publicAddPageHREF != null %>">
+													<a class="add-page" href="<%= HtmlUtil.escape(publicAddPageHREF) %>" onclick="Liferay.Util.forcePost(this); return false;"><liferay-ui:message key="manage-pages" /></a>
+												</c:if>
+											</li>
+										</c:if>
+
+										<%
+										portletURL.setParameter("groupId", String.valueOf(mySiteGroup.getGroupId()));
+										portletURL.setParameter("privateLayout", Boolean.TRUE.toString());
+										%>
+
+										<c:if test="<%= showPrivateSite %>">
+											<li>
+												<a href="<%= (mySiteGroup.getPrivateLayoutsPageCount() > 0) ? HtmlUtil.escape(portletURL.toString()) : "javascript:;" %>"
+
+												<c:if test="<%= mySiteGroup.isUser() %>">
+													id="my-site-private-pages"
+												</c:if>
+
+												<c:if test="<%= mySiteGroup.getPrivateLayoutsPageCount() > 0 %>">
+													onclick="Liferay.Util.forcePost(this); return false;"
+												</c:if>
+
+												><liferay-ui:message key="private-pages" /> <span class="page-count">(<%= mySiteGroup.getPrivateLayoutsPageCount() %>)</span></a>
+
+												<c:if test="<%= privateAddPageHREF != null %>">
+													<a class="add-page" href="<%= HtmlUtil.escape(privateAddPageHREF) %>" onclick="Liferay.Util.forcePost(this); return false;"><liferay-ui:message key="manage-pages" /></a>
+												</c:if>
+											</li>
+										</c:if>
+									</ul>
+								</c:otherwise>
+							</c:choose>
+						</li>
+					</c:when>
+				</c:choose>
+			</c:if>
+
+		<%
+		}
+		%>
+
+	</ul>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/my_sites/page_site_name.jspf b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/my_sites/page_site_name.jspf
new file mode 100644
index 0000000..cd54dfa
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/my_sites/page_site_name.jspf
@@ -0,0 +1,21 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<i class="<%= iconCssClass %>"></i>
+
+<span class="site-name">
+	<%= HtmlUtil.escape(siteName) %>
+</span>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/navigation/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/navigation/init.jsp
new file mode 100644
index 0000000..7b38a79
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/navigation/init.jsp
@@ -0,0 +1,56 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String bulletStyle = StringUtil.toLowerCase(((String)request.getAttribute("liferay-ui:navigation:bulletStyle")));
+String displayStyle = (String)request.getAttribute("liferay-ui:navigation:displayStyle");
+boolean preview = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:navigation:preview"));
+
+String headerType = null;
+String includedLayouts = null;
+boolean nestedChildren = true;
+int rootLayoutLevel = 0;
+String rootLayoutType = null;
+
+String[] displayStyleDefinition = _getDisplayStyleDefinition(displayStyle);
+
+if ((displayStyleDefinition != null) && (displayStyleDefinition.length != 0)) {
+	headerType = displayStyleDefinition[0];
+	includedLayouts = displayStyleDefinition[3];
+
+	if (displayStyleDefinition.length > 4) {
+		nestedChildren = GetterUtil.getBoolean(displayStyleDefinition[4]);
+	}
+
+	rootLayoutLevel = GetterUtil.getInteger(displayStyleDefinition[2]);
+	rootLayoutType = displayStyleDefinition[1];
+}
+else {
+	headerType = (String)request.getAttribute("liferay-ui:navigation:headerType");
+	includedLayouts = (String)request.getAttribute("liferay-ui:navigation:includedLayouts");
+	nestedChildren = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:navigation:nestedChildren"));
+	rootLayoutLevel = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:navigation:rootLayoutLevel"));
+	rootLayoutType = (String)request.getAttribute("liferay-ui:navigation:rootLayoutType");
+}
+%>
+
+<%!
+private String[] _getDisplayStyleDefinition(String displayStyle) {
+	return PropsUtil.getArray("navigation.display.style", new Filter(displayStyle));
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/navigation/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/navigation/page.jsp
new file mode 100644
index 0000000..9e80b7e
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/navigation/page.jsp
@@ -0,0 +1,177 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/navigation/init.jsp" %>
+
+<c:if test="<%= layout != null %>">
+
+	<%
+	Layout rootLayout = null;
+	boolean hidden = false;
+
+	List<Layout> branchLayouts = new ArrayList<Layout>();
+
+	branchLayouts.add(layout);
+	branchLayouts.addAll(layout.getAncestors());
+
+	if (rootLayoutType.equals("relative")) {
+		if ((rootLayoutLevel >= 0) && (rootLayoutLevel < branchLayouts.size())) {
+			rootLayout = branchLayouts.get(rootLayoutLevel);
+		}
+		else {
+			rootLayout = null;
+		}
+	}
+	else if (rootLayoutType.equals("absolute")) {
+		int ancestorIndex = branchLayouts.size() - rootLayoutLevel;
+
+		if ((ancestorIndex >= 0) && (ancestorIndex < branchLayouts.size())) {
+			rootLayout = branchLayouts.get(ancestorIndex);
+		}
+		else if (ancestorIndex == branchLayouts.size()) {
+			rootLayout = null;
+		}
+		else {
+			hidden = true;
+		}
+	}
+
+	StringBundler sb = new StringBundler();
+
+	if (!hidden) {
+		_buildNavigation(rootLayout, layout, branchLayouts, themeDisplay, 1, includedLayouts, nestedChildren, sb);
+	}
+	%>
+
+	<div class="nav-menu nav-menu-style-<%= bulletStyle %>">
+		<c:choose>
+			<c:when test='<%= headerType.equals("root-layout") && (rootLayout != null) %>'>
+				<h2>
+					<a href="<%= PortalUtil.getLayoutURL(rootLayout, themeDisplay) %>" <%= PortalUtil.getLayoutTarget(rootLayout) %>><%= rootLayout.getName(locale) %></a>
+				</h2>
+			</c:when>
+			<c:when test='<%= headerType.equals("portlet-title") %>'>
+				<h2><%= portletDisplay.getTitle() %></h2>
+			</c:when>
+			<c:when test='<%= headerType.equals("breadcrumb") %>'>
+				<liferay-ui:breadcrumb />
+			</c:when>
+			<c:when test="<%= preview && (sb.length() == 0) %>">
+				<div class="alert alert-info">
+					<liferay-ui:message key="there-are-no-pages-to-display-for-the-current-page-level" />
+				</div>
+			</c:when>
+		</c:choose>
+
+		<%= sb.toString() %>
+	</div>
+</c:if>
+
+<%!
+private void _buildNavigation(Layout rootLayout, Layout selLayout, List<Layout> branchLayouts, ThemeDisplay themeDisplay, int layoutLevel, String includedLayouts, boolean nestedChildren, StringBundler sb) throws Exception {
+	List<Layout> childLayouts = null;
+
+	if (rootLayout != null) {
+		childLayouts = rootLayout.getChildren(themeDisplay.getPermissionChecker());
+	}
+	else {
+		childLayouts = LayoutLocalServiceUtil.getLayouts(selLayout.getGroupId(), selLayout.isPrivateLayout(), LayoutConstants.DEFAULT_PARENT_LAYOUT_ID);
+	}
+
+	if (childLayouts.isEmpty()) {
+		return;
+	}
+
+	StringBundler tailSB = null;
+
+	if (!nestedChildren) {
+		tailSB = new StringBundler();
+	}
+
+	sb.append("<ul class=\"layouts level-");
+	sb.append(layoutLevel);
+	sb.append("\">");
+
+	for (Layout childLayout : childLayouts) {
+		if (!childLayout.isHidden() && LayoutPermissionUtil.contains(themeDisplay.getPermissionChecker(), childLayout, ActionKeys.VIEW)) {
+			boolean open = false;
+
+			if (includedLayouts.equals("auto") && branchLayouts.contains(childLayout) && !childLayout.getChildren().isEmpty()) {
+				open = true;
+			}
+
+			if (includedLayouts.equals("all")) {
+				open = true;
+			}
+
+			String className = StringPool.BLANK;
+
+			if (open) {
+				className += "open ";
+			}
+
+			if (selLayout.getLayoutId() == childLayout.getLayoutId()) {
+				className += "selected ";
+			}
+
+			sb.append("<li ");
+
+			if (Validator.isNotNull(className)) {
+				sb.append("class=\"");
+				sb.append(className);
+				sb.append("\" ");
+			}
+
+			sb.append("><a ");
+
+			if (Validator.isNotNull(className)) {
+				sb.append("class=\"");
+				sb.append(className);
+				sb.append("\" ");
+			}
+
+			sb.append("href=\"");
+			sb.append(HtmlUtil.escapeHREF(PortalUtil.getLayoutURL(childLayout, themeDisplay)));
+			sb.append("\" ");
+			sb.append(PortalUtil.getLayoutTarget(childLayout));
+			sb.append("> ");
+			sb.append(HtmlUtil.escape(childLayout.getName(themeDisplay.getLocale())));
+			sb.append("</a>");
+
+			if (open) {
+				StringBundler childLayoutSB = null;
+
+				if (nestedChildren) {
+					childLayoutSB = sb;
+				}
+				else {
+					childLayoutSB = tailSB;
+				}
+
+				_buildNavigation(childLayout, selLayout, branchLayouts, themeDisplay, layoutLevel + 1, includedLayouts, nestedChildren, childLayoutSB);
+			}
+
+			sb.append("</li>");
+		}
+	}
+
+	sb.append("</ul>");
+
+	if (!nestedChildren) {
+		sb.append(tailSB);
+	}
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/page_iterator/showing_x_results.jspf b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/page_iterator/showing_x_results.jspf
new file mode 100644
index 0000000..41aa677
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/page_iterator/showing_x_results.jspf
@@ -0,0 +1,39 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<small class="search-results">
+	<c:choose>
+		<c:when test='<%= type.equals("approximate") %>'>
+			<%= LanguageUtil.format(pageContext, "page-x-of-approximately-x-results", new Object[] {numberFormat.format(cur), numberFormat.format(total)}) %>
+		</c:when>
+		<c:when test='<%= type.equals("more") %>'>
+			<%= LanguageUtil.format(pageContext, "showing-x-x", new Object[] {numberFormat.format(start + 1), numberFormat.format(end)}) %>
+		</c:when>
+		<c:when test="<%= total > resultRowsSize %>">
+			<%= LanguageUtil.format(pageContext, "showing-x-x-of-x-results", new Object[] {numberFormat.format(start + 1), numberFormat.format(end), numberFormat.format(total)}) %>
+		</c:when>
+		<c:otherwise>
+			<c:choose>
+				<c:when test="<%= total != 1 %>">
+					<%= LanguageUtil.format(pageContext, "showing-x-results", numberFormat.format(total)) %>
+				</c:when>
+				<c:otherwise>
+					<%= LanguageUtil.format(pageContext, "showing-x-result", numberFormat.format(total)) %>
+				</c:otherwise>
+			</c:choose>
+		</c:otherwise>
+	</c:choose>
+</small>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/page_iterator/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/page_iterator/start.jsp
new file mode 100644
index 0000000..1cf14af
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/page_iterator/start.jsp
@@ -0,0 +1,289 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String formName = namespace + request.getAttribute("liferay-ui:page-iterator:formName");
+int cur = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:page-iterator:cur"));
+String curParam = (String)request.getAttribute("liferay-ui:page-iterator:curParam");
+int delta = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:page-iterator:delta"));
+boolean deltaConfigurable = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:page-iterator:deltaConfigurable"));
+String deltaParam = (String)request.getAttribute("liferay-ui:page-iterator:deltaParam");
+String id = (String)request.getAttribute("liferay-ui:page-iterator:id");
+String jsCall = GetterUtil.getString((String)request.getAttribute("liferay-ui:page-iterator:jsCall"));
+int maxPages = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:page-iterator:maxPages"));
+String target = (String)request.getAttribute("liferay-ui:page-iterator:target");
+int total = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:page-iterator:total"));
+String type = (String)request.getAttribute("liferay-ui:page-iterator:type");
+String url = (String)request.getAttribute("liferay-ui:page-iterator:url");
+String urlAnchor = (String)request.getAttribute("liferay-ui:page-iterator:urlAnchor");
+int pages = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:page-iterator:pages"));
+
+if (Validator.isNull(id)) {
+	id = PortalUtil.generateRandomKey(request, "taglib-page-iterator");
+}
+
+int start = (cur - 1) * delta;
+int end = cur * delta;
+
+if (end > total) {
+	end = total;
+}
+
+int resultRowsSize = delta;
+
+if (total < delta) {
+	resultRowsSize = total;
+}
+else {
+	resultRowsSize = total - ((cur - 1) * delta);
+
+	if (resultRowsSize > delta) {
+		resultRowsSize = delta;
+	}
+}
+
+String deltaURL = HttpUtil.removeParameter(url, namespace + deltaParam);
+
+NumberFormat numberFormat = NumberFormat.getNumberInstance(locale);
+%>
+
+<c:if test='<%= type.equals("approximate") || type.equals("more") || type.equals("regular") || (type.equals("article") && (total > resultRowsSize)) %>'>
+	<div class="taglib-page-iterator" id="<%= namespace + id %>">
+</c:if>
+
+<c:if test='<%= type.equals("article") && (total > resultRowsSize) %>'>
+	<div class="search-results">
+		<liferay-ui:message key="pages" />:
+
+		<%
+		int pagesIteratorMax = maxPages;
+		int pagesIteratorBegin = 1;
+		int pagesIteratorEnd = pages;
+
+		if (pages > pagesIteratorMax) {
+			pagesIteratorBegin = cur - pagesIteratorMax;
+			pagesIteratorEnd = cur + pagesIteratorMax;
+
+			if (pagesIteratorBegin < 1) {
+				pagesIteratorBegin = 1;
+			}
+
+			if (pagesIteratorEnd > pages) {
+				pagesIteratorEnd = pages;
+			}
+		}
+
+		String content = null;
+
+		if (pagesIteratorEnd < pagesIteratorBegin) {
+			content = StringPool.BLANK;
+		}
+		else {
+			StringBundler sb = new StringBundler((pagesIteratorEnd - pagesIteratorBegin + 1) * 6);
+
+			for (int i = pagesIteratorBegin; i <= pagesIteratorEnd; i++) {
+				if (i == cur) {
+					sb.append("<strong class='journal-article-page-number'>");
+					sb.append(i);
+					sb.append("</strong>");
+				}
+				else {
+					sb.append("<a class='journal-article-page-number' href='");
+					sb.append(_getHREF(formName, namespace + curParam, i, jsCall, url, urlAnchor));
+					sb.append("'>");
+					sb.append(i);
+					sb.append("</a>");
+				}
+
+				sb.append("&nbsp;&nbsp;");
+			}
+
+			content = sb.toString();
+		}
+		%>
+
+		<%= content %>
+	</div>
+</c:if>
+
+<c:if test="<%= (total > delta) || (total > PropsValues.SEARCH_CONTAINER_PAGE_DELTA_VALUES[0]) %>">
+	<div class="clearfix lfr-pagination">
+		<c:if test='<%= type.equals("regular") %>'>
+			<c:if test="<%= PropsValues.SEARCH_CONTAINER_PAGE_DELTA_VALUES.length > 0 %>">
+				<div class="lfr-pagination-config">
+					<div class="lfr-pagination-page-selector">
+						<c:choose>
+							<c:when test="<%= themeDisplay.isFacebook() %>">
+								<liferay-ui:message key="page" />
+
+								<%= cur %>
+							</c:when>
+							<c:otherwise>
+
+								<%
+								String suffix = LanguageUtil.get(pageContext, "of") + StringPool.SPACE + numberFormat.format(pages);
+
+								if (type.equals("approximate") || type.equals("more")) {
+									suffix = StringPool.BLANK;
+								}
+								%>
+
+								<liferay-ui:icon-menu
+									cssClass="current-page-menu"
+									direction="down"
+									icon=""
+									message='<%= LanguageUtil.get(pageContext, "page") + StringPool.SPACE + cur + StringPool.SPACE + suffix %>'
+									showWhenSingleIcon="true"
+								>
+
+									<%
+									int pagesIteratorMax = maxPages;
+									int pagesIteratorBegin = 1;
+									int pagesIteratorEnd = pages;
+
+									if (pages > pagesIteratorMax) {
+										pagesIteratorBegin = cur - pagesIteratorMax;
+										pagesIteratorEnd = cur + pagesIteratorMax;
+
+										if (pagesIteratorBegin < 1) {
+											pagesIteratorBegin = 1;
+										}
+
+										if (pagesIteratorEnd > pages) {
+											pagesIteratorEnd = pages;
+										}
+									}
+
+									for (int i = pagesIteratorBegin; i <= pagesIteratorEnd; i++) {
+									%>
+
+										<liferay-ui:icon
+											message="<%= String.valueOf(i) %>"
+											url='<%= url + namespace + curParam + "=" + i + urlAnchor %>'
+										/>
+
+									<%
+									}
+									%>
+
+								</liferay-ui:icon-menu>
+							</c:otherwise>
+						</c:choose>
+					</div>
+					<div class="lfr-pagination-delta-selector">
+						<c:choose>
+							<c:when test="<%= !deltaConfigurable || themeDisplay.isFacebook() %>">
+								&mdash;
+
+								<%= delta %>
+
+								<liferay-ui:message key="items-per-page" />
+							</c:when>
+							<c:otherwise>
+								<liferay-ui:icon-menu
+									direction="down"
+									icon=""
+									message='<%= delta + StringPool.SPACE + LanguageUtil.get(pageContext, "items-per-page") %>'
+									showWhenSingleIcon="true"
+								>
+
+									<%
+									for (int curDelta : PropsValues.SEARCH_CONTAINER_PAGE_DELTA_VALUES) {
+										if (curDelta > SearchContainer.MAX_DELTA) {
+											continue;
+										}
+									%>
+
+										<liferay-ui:icon
+											message="<%= String.valueOf(curDelta) %>"
+											url='<%= deltaURL + "&" + namespace + deltaParam + "=" + curDelta + urlAnchor %>'
+										/>
+
+									<%
+									}
+									%>
+
+								</liferay-ui:icon-menu>
+							</c:otherwise>
+						</c:choose>
+					</div>
+				</c:if>
+			</div>
+		</c:if>
+
+		<c:if test='<%= type.equals("approximate") || type.equals("more") || type.equals("regular") %>'>
+			<%@ include file="/html/taglib/ui/page_iterator/showing_x_results.jspf" %>
+		</c:if>
+
+		<ul class="pager lfr-pagination-buttons">
+			<c:if test='<%= type.equals("approximate") || type.equals("more") || type.equals("regular") %>'>
+				<li class="<%= (cur != 1) ? "" : "disabled" %> first">
+					<a href="<%= (cur != 1) ? _getHREF(formName, namespace + curParam, 1, jsCall, url, urlAnchor) : "javascript:;" %>" target="<%= target %>">
+						&larr; <liferay-ui:message key="first" />
+					</a>
+				</li>
+			</c:if>
+
+			<li class="<%= (cur != 1) ? "" : "disabled" %>">
+				<a href="<%= (cur != 1) ? _getHREF(formName, namespace + curParam, cur - 1, jsCall, url, urlAnchor) : "javascript:;" %>" target="<%= target %>">
+					<liferay-ui:message key="previous" />
+				</a>
+			</li>
+
+			<li class="<%= (cur != pages) ? "" : "disabled" %>">
+				<a href="<%= (cur != pages) ? _getHREF(formName, namespace + curParam, cur + 1, jsCall, url, urlAnchor) : "javascript:;" %>" target="<%= target %>">
+					<c:choose>
+						<c:when test='<%= type.equals("approximate") || type.equals("more") %>'>
+							<liferay-ui:message key="more" />
+						</c:when>
+						<c:otherwise>
+							<liferay-ui:message key="next" />
+						</c:otherwise>
+					</c:choose>
+				</a>
+			</li>
+
+			<c:if test='<%= type.equals("regular") %>'>
+				<li class="<%= (cur != pages) ? "" : "disabled" %> last">
+					<a href="<%= (cur != pages) ? _getHREF(formName, namespace + curParam, pages, jsCall, url, urlAnchor) : "javascript:;" %>" target="<%= target %>">
+						<liferay-ui:message key="last" /> &rarr;
+					</a>
+				</li>
+			</c:if>
+		</ul>
+	</div>
+</c:if>
+
+<c:if test='<%= type.equals("approximate") || type.equals("more") || type.equals("regular") || (type.equals("article") && (total > resultRowsSize)) %>'>
+	</div>
+</c:if>
+
+<%!
+private String _getHREF(String formName, String curParam, int cur, String jsCall, String url, String urlAnchor) throws Exception {
+	String href = null;
+
+	if (Validator.isNotNull(url)) {
+		href = HtmlUtil.escape(url + curParam + "=" + cur + urlAnchor);
+	}
+	else {
+		href = "javascript:document." + formName + "." + curParam + ".value = '" + cur + "'; " + jsCall;
+	}
+
+	return href;
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel/end.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel/end.jsp
new file mode 100644
index 0000000..eccf2ed
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel/end.jsp
@@ -0,0 +1,25 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/panel/init.jsp" %>
+
+		</div>
+	</div>
+</div>
+
+<c:if test="<%= collapsible && (panelCount == null) %>">
+	<%@ include file="/html/taglib/ui/panel_container/javascript.jspf" %>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel/init.jsp
new file mode 100644
index 0000000..c8337e8
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel/init.jsp
@@ -0,0 +1,77 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+boolean accordion = false;
+boolean collapsible = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:panel:collapsible"));
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:panel:cssClass"));
+String defaultState = (String)request.getAttribute("liferay-ui:panel:defaultState");
+Boolean extended = (Boolean)request.getAttribute("liferay-ui:panel:extended");
+String helpMessage = (String)request.getAttribute("liferay-ui:panel:helpMessage");
+String iconCssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:panel:iconCssClass"));
+String id = (String)request.getAttribute("liferay-ui:panel:id");
+String parentId = (String)request.getAttribute("liferay-ui:panel:parentId");
+boolean persistState = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:panel:persistState"));
+String state = (String)request.getAttribute("liferay-ui:panel:state");
+String title = (String)request.getAttribute("liferay-ui:panel:title");
+
+IntegerWrapper panelCount = (IntegerWrapper)request.getAttribute("liferay-ui:panel-container:panelCount" + parentId);
+
+if (panelCount != null) {
+	panelCount.increment();
+
+	if (extended == null) {
+		Boolean panelContainerExtended = (Boolean)request.getAttribute("liferay-ui:panel-container:extended");
+
+		if (panelContainerExtended != null) {
+			extended = panelContainerExtended;
+		}
+	}
+}
+
+cssClass += " lfr-panel";
+
+if ((extended != null) && extended) {
+	cssClass += " lfr-panel-extended";
+}
+
+String contentCssClass = StringPool.BLANK;
+String headerCssClass = StringPool.BLANK;
+
+if (collapsible) {
+	contentCssClass += "toggler-content";
+	headerCssClass += "toggler-header";
+
+	if (BrowserSnifferUtil.isMobile(request)) {
+		state = "closed";
+	}
+
+	if (state == null) {
+		state = GetterUtil.getString(SessionClicks.get(request, id, null), defaultState);
+	}
+
+	if (state.equals("open")) {
+		contentCssClass += " toggler-content-expanded";
+		headerCssClass += " toggler-header-expanded";
+	}
+	else {
+		contentCssClass += " toggler-content-collapsed";
+		headerCssClass += " toggler-header-collapsed";
+	}
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel/start.jsp
new file mode 100644
index 0000000..5dc71b6
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel/start.jsp
@@ -0,0 +1,36 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/panel/init.jsp" %>
+
+<div class="accordion-group <%= cssClass %>" id="<%= id %>">
+	<div class="accordion-heading <%= headerCssClass %>" data-persist-id="<%= persistState ? id : StringPool.BLANK %>">
+		<div class="accordion-toggle">
+			<c:if test="<%= Validator.isNotNull(iconCssClass) %>">
+				<i class="<%= iconCssClass %>"></i>
+			</c:if>
+
+			<span class="title-text">
+				<liferay-ui:message key="<%= title %>" />
+			</span>
+
+			<c:if test="<%= Validator.isNotNull(helpMessage) %>">
+				<liferay-ui:icon-help message="<%= helpMessage %>" />
+			</c:if>
+		</div>
+	</div>
+	<div class="<%= contentCssClass %>" id="<%= id %>Content">
+		<div class="accordion-inner">
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/end.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/end.jsp
new file mode 100644
index 0000000..f75aa80
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/end.jsp
@@ -0,0 +1,21 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/panel_container/init.jsp" %>
+
+</div>
+
+<%@ include file="/html/taglib/ui/panel_container/javascript.jspf" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/init.jsp
new file mode 100644
index 0000000..544eb71
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/init.jsp
@@ -0,0 +1,23 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+boolean accordion = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:panel-container:accordion"));
+String cssClass = GetterUtil.getString((String)request.getAttribute("liferay-ui:panel-container:cssClass"));
+String id = (String)request.getAttribute("liferay-ui:panel-container:id");
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/javascript.jspf b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/javascript.jspf
new file mode 100644
index 0000000..a006a80
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/javascript.jspf
@@ -0,0 +1,58 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<aui:script use="aui-toggler,liferay-store">
+	var togglerDelegate;
+
+	Liferay.component(
+		'<%= namespace + id %>',
+		function() {
+			if (!togglerDelegate) {
+				togglerDelegate = new A.TogglerDelegate(
+					{
+						animated: true,
+						closeAllOnExpand: <%= accordion %>,
+						container: '#<%= id %>',
+						content: '.toggler-content',
+						header: '.toggler-header',
+						on: {
+							'toggler:expandedChange': function(event) {
+								var header = event.target.get('header');
+
+								var persistId = header.getData('persist-id');
+
+								if (persistId && !event.silent) {
+									var data = {};
+
+									data[persistId] = event.newVal ? 'open' : 'closed';
+
+									Liferay.Store(data);
+								}
+							}
+						},
+						transition: {
+							duration: .3
+						}
+					}
+				);
+			}
+
+			return togglerDelegate;
+		}
+	);
+
+	Liferay.component('<%= namespace + id %>');
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/start.jsp
new file mode 100644
index 0000000..1d3880f
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/panel_container/start.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/panel_container/init.jsp" %>
+
+<div class="accordion <%= cssClass %>" id="<%= id %>">
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/png_image/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/png_image/page.jsp
new file mode 100644
index 0000000..943d9da
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/png_image/page.jsp
@@ -0,0 +1,35 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String image = (String)request.getAttribute("liferay-ui:png_image:image");
+String height = (String)request.getAttribute("liferay-ui:png_image:height");
+String width = (String)request.getAttribute("liferay-ui:png_image:width");
+%>
+
+<div style="
+		<c:choose>
+			<c:when test="<%= BrowserSnifferUtil.isIe(request) && (BrowserSnifferUtil.getMajorVersion(request) >= 5.5) %>">
+				filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='<%= image %>', sizingMethod='scale');
+			</c:when>
+			<c:otherwise>
+				background-image: url(<%= image %>);
+			</c:otherwise>
+		</c:choose>
+
+		height: <%= height %>px; width: <%= width %>px;"></div>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/progress/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/progress/init.jsp
new file mode 100644
index 0000000..38fb873
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/progress/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portal.upload.LiferayFileUpload" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/progress/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/progress/page.jsp
new file mode 100644
index 0000000..af63f3e
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/progress/page.jsp
@@ -0,0 +1,42 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/progress/init.jsp" %>
+
+<%
+Integer height = (Integer)request.getAttribute("liferay-ui:progress:height");
+String id = (String)request.getAttribute("liferay-ui:progress:id");
+String message = (String)request.getAttribute("liferay-ui:progress:message");
+String sessionKey = GetterUtil.getString(request.getAttribute("liferay-ui:progress:sessionKey"), LiferayFileUpload.PERCENT);
+%>
+
+<div id="<%= id %>Bar"></div>
+
+<aui:script use="liferay-progress">
+	A.config.win['<%= id %>'] = new Liferay.Progress(
+		{
+			boundingBox: '#<%= id %>Bar',
+
+			<c:if test="<%= Validator.isNotNull(height) %>">
+				height: <%= height %>,
+			</c:if>
+
+			id: '<%= id %>',
+			label: '<%= UnicodeLanguageUtil.get(pageContext, message) %>',
+			sessionKey: '<%= HtmlUtil.escapeJS(sessionKey) %>'
+		}
+	);
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ratings/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ratings/init.jsp
new file mode 100644
index 0000000..396f5be
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ratings/init.jsp
@@ -0,0 +1,22 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.ratings.model.RatingsEntry" %><%@
+page import="com.liferay.portlet.ratings.model.RatingsStats" %><%@
+page import="com.liferay.portlet.ratings.service.RatingsEntryLocalServiceUtil" %><%@
+page import="com.liferay.portlet.ratings.service.RatingsStatsLocalServiceUtil" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ratings/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ratings/page.jsp
new file mode 100644
index 0000000..eb1c326
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ratings/page.jsp
@@ -0,0 +1,187 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/ratings/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_ratings_page") + StringPool.UNDERLINE;
+
+String className = (String)request.getAttribute("liferay-ui:ratings:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:ratings:classPK"));
+int numberOfStars = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:ratings:numberOfStars"));
+RatingsEntry ratingsEntry = (RatingsEntry)request.getAttribute("liferay-ui:ratings:ratingsEntry");
+RatingsStats ratingsStats = (RatingsStats)request.getAttribute("liferay-ui:ratings:ratingsStats");
+boolean setRatingsEntry = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:ratings:setRatingsEntry"));
+boolean setRatingsStats = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:ratings:setRatingsStats"));
+String type = GetterUtil.getString((String)request.getAttribute("liferay-ui:ratings:type"));
+String url = (String)request.getAttribute("liferay-ui:ratings:url");
+
+if (numberOfStars < 1) {
+	numberOfStars = 1;
+}
+
+if (!setRatingsEntry) {
+	ratingsEntry = RatingsEntryLocalServiceUtil.fetchEntry(themeDisplay.getUserId(), className, classPK);
+}
+
+if (!setRatingsStats) {
+	ratingsStats = RatingsStatsLocalServiceUtil.getStats(className, classPK);
+}
+
+if (Validator.isNull(url)) {
+	url = themeDisplay.getPathMain() + "/portal/rate_entry";
+}
+
+double yourScore = 0.0;
+
+if (ratingsEntry != null) {
+	yourScore = ratingsEntry.getScore();
+}
+%>
+
+<c:if test="<%= !themeDisplay.isFacebook() %>">
+	<div class="taglib-ratings <%= type %>" id="<%= randomNamespace %>ratingContainer">
+		<c:choose>
+			<c:when test='<%= type.equals("stars") %>'>
+				<c:choose>
+					<c:when test="<%= themeDisplay.isSignedIn() && !TrashUtil.isInTrash(className, classPK) %>">
+						<div class="liferay-rating-vote" id="<%= randomNamespace %>ratingStar">
+							<div id="<%= randomNamespace %>ratingStarContent">
+								<div class="rating-label"><liferay-ui:message key="your-rating" /></div>
+
+								<%
+								for (int i = 1; i <= numberOfStars; i++) {
+									String ratingId = PortalUtil.generateRandomKey(request, "taglib_ui_ratings_page_rating");
+								%>
+
+									<a class="rating-element <%= (i <= yourScore) ? "icon-star" : "icon-star-empty" %>" href="javascript:;"></a>
+
+									<div class="rating-input-container">
+										<label for="<%= ratingId %>"><liferay-ui:message arguments="<%= new Object[] {i, numberOfStars} %>" key='<%= (yourScore == i) ? "you-have-rated-this-x-stars-out-of-x" : "rate-this-x-stars-out-of-x" %>' /></label>
+
+										<input checked="<%= i == yourScore %>" class="rating-input" id="<%= ratingId %>" name="<portlet:namespace />rating" type="radio" value="<%= i %>">
+									</div>
+
+								<%
+								}
+								%>
+
+							</div>
+						</div>
+					</c:when>
+				</c:choose>
+
+				<div class="liferay-rating-score" id="<%= randomNamespace %>ratingScore">
+					<div id="<%= randomNamespace %>ratingScoreContent">
+						<div class="rating-label">
+							<liferay-ui:message key="average" />
+
+							(<%= ratingsStats.getTotalEntries() %> <liferay-ui:message key='<%= (ratingsStats.getTotalEntries() == 1) ? "vote" : "votes" %>' />)
+						</div>
+
+						<%
+						for (int i = 1; i <= numberOfStars; i++) {
+						%>
+
+							<a class="rating-element <%= (i <= yourScore) ? "icon-star" : "icon-star-empty" %>" href="javascript:;" title="<%= TrashUtil.isInTrash(className, classPK) ? LanguageUtil.get(pageContext, "ratings-are-disabled-because-this-entry-is-in-the-recycle-bin") : ((i == 1) ? LanguageUtil.format(pageContext, "the-average-rating-is-x-stars-out-of-x", new Object[] {ratingsStats.getAverageScore(), numberOfStars}) : StringPool.BLANK) %>"></a>
+
+						<%
+						}
+						%>
+
+					</div>
+				</div>
+			</c:when>
+			<c:when test='<%= type.equals("thumbs") %>'>
+				<c:choose>
+					<c:when test="<%= themeDisplay.isSignedIn() %>">
+						<div class="thumbrating liferay-rating-vote" id="<%= randomNamespace %>ratingThumb">
+							<div class="helper-clearfix rating-content thumbrating-content" id="<%= randomNamespace %>ratingThumbContent">
+								<div class="rating-label">
+									<c:choose>
+										<c:when test="<%= (ratingsStats.getAverageScore() * ratingsStats.getTotalEntries() == 0) %>">
+											0
+										</c:when>
+										<c:otherwise>
+											<%= (ratingsStats.getAverageScore() > 0) ? "+" : StringPool.BLANK %><%= (int)(ratingsStats.getAverageScore() * ratingsStats.getTotalEntries()) %>
+										</c:otherwise>
+									</c:choose>
+
+									(<%= ratingsStats.getTotalEntries() %> <liferay-ui:message key='<%= (ratingsStats.getTotalEntries() == 1) ? "vote" : "votes" %>' />)
+								</div>
+
+								<c:choose>
+									<c:when test="<%= TrashUtil.isInTrash(className, classPK) %>">
+										<span class="rating-element rating-<%= (yourScore > 0) ? "on" : "off" %> rating-thumb-up" title="<liferay-ui:message key="ratings-are-disabled-because-this-entry-is-in-the-recycle-bin" />"></span>
+
+										<span class="rating-element rating-<%= (yourScore < 0) ? "on" : "off" %> rating-thumb-down" title="<liferay-ui:message key="ratings-are-disabled-because-this-entry-is-in-the-recycle-bin" />"></span>
+									</c:when>
+									<c:otherwise>
+										<a class="rating-element rating-<%= (yourScore > 0) ? "on" : "off" %> rating-thumb-up icon-thumbs-up" href="javascript:;"></a>
+
+										<a class="rating-element rating-<%= (yourScore < 0) ? "on" : "off" %> rating-thumb-down icon-thumbs-down" href="javascript:;"></a>
+
+										<div class="rating-input-container">
+
+											<%
+											String ratingId = PortalUtil.generateRandomKey(request, "taglib_ui_ratings_page_rating");
+											%>
+
+											<label for="<%= ratingId %>"><liferay-ui:message key='<%= (yourScore > 0) ? "you-have-rated-this-as-good" : "rate-this-as-good" %>' /></label>
+
+											<input class="rating-input" id="<%= ratingId %>" name="<portlet:namespace />ratingThumb" type="radio" value="up">
+
+											<%
+											ratingId = PortalUtil.generateRandomKey(request, "taglib_ui_ratings_page_rating");
+											%>
+
+											<label for="<%= ratingId %>"><liferay-ui:message key='<%= (yourScore > 0) ? "you-have-rated-this-as-bad" : "rate-this-as-bad" %>' /></label>
+
+											<input class="rating-input" id="<%= ratingId %>" name="<portlet:namespace />ratingThumb" type="radio" value="down">
+										</div>
+									</c:otherwise>
+								</c:choose>
+							</div>
+						</div>
+					</c:when>
+					<c:otherwise>
+						<a href="<%= themeDisplay.getURLSignIn() %>"><liferay-ui:message key="sign-in-to-vote" /></a>
+					</c:otherwise>
+				</c:choose>
+			</c:when>
+		</c:choose>
+	</div>
+
+	<c:if test="<%= !TrashUtil.isInTrash(className, classPK) %>">
+		<aui:script use="liferay-ratings">
+			Liferay.Ratings.register(
+				{
+					averageScore: <%= ratingsStats.getAverageScore() %>,
+					className: '<%= HtmlUtil.escapeJS(className) %>',
+					classPK: '<%= classPK %>',
+					containerId: '<%= randomNamespace %>ratingContainer',
+					namespace: '<%= randomNamespace %>',
+					size: <%= numberOfStars %>,
+					totalEntries: <%= ratingsStats.getTotalEntries() %>,
+					totalScore: <%= ratingsStats.getTotalScore() %>,
+					type: '<%= type %>',
+					uri: '<%= url %>',
+					yourScore: <%= yourScore %>
+				}
+			);
+		</aui:script>
+	</c:if>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ratings_score/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ratings_score/page.jsp
new file mode 100644
index 0000000..435849b
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/ratings_score/page.jsp
@@ -0,0 +1,73 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_ratings_score_page") + StringPool.UNDERLINE;
+
+double score = GetterUtil.getDouble((String)request.getAttribute("liferay-ui:ratings-score:score"));
+
+NumberFormat numberFormat = NumberFormat.getInstance();
+
+numberFormat.setMaximumFractionDigits(1);
+numberFormat.setMinimumFractionDigits(0);
+
+String scoreString = numberFormat.format(score);
+%>
+
+<c:choose>
+	<c:when test="<%= themeDisplay.isFacebook() %>">
+		<%= scoreString %> Stars
+	</c:when>
+	<c:otherwise>
+		<div class="taglib-ratings score" id="<%= randomNamespace %>averageRating">
+			<div class="helper-clearfix" id="<%= randomNamespace %>averageRatingContent">
+
+				<%
+				for (int i = 1; i <= 5; i++) {
+				%>
+
+					<a class="rating-element <%= (i <= score) ? "rating-element-on" : StringPool.BLANK %>" href="javascript:;"></a>
+
+				<%
+				}
+				%>
+
+			</div>
+		</div>
+
+		<aui:script use="aui-rating">
+			var ratingScore = new A.Rating(
+				{
+					boundingBox: '#<%= randomNamespace %>averageRating',
+					defaultSelected: <%= MathUtil.format(score, 1, 1) %>,
+					disabled: true,
+					srcNode: '#<%= randomNamespace %>averageRatingContent'
+				}
+			).render();
+
+			ratingScore.get('boundingBox').on(
+				'mouseenter',
+				function(event) {
+					var el = A.Node.getDOMNode(event.currentTarget);
+
+					Liferay.Portal.ToolTip.show(el, '<%= scoreString %> Stars');
+				}
+			);
+		</aui:script>
+	</c:otherwise>
+</c:choose>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/restore_entry/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/restore_entry/page.jsp
new file mode 100644
index 0000000..ceee960
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/restore_entry/page.jsp
@@ -0,0 +1,47 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/common/init.jsp" %>
+
+<%
+String duplicateEntryAction = (String)request.getAttribute("liferay-ui:restore-entry:duplicateEntryAction");
+String overrideMessage = (String)request.getAttribute("liferay-ui:restore-entry:overrideMessage");
+String renameMessage = (String)request.getAttribute("liferay-ui:restore-entry:renameMessage");
+String restoreEntryAction = (String)request.getAttribute("liferay-ui:restore-entry:restoreEntryAction");
+%>
+
+<aui:script use="liferay-restore-entry">
+	<portlet:actionURL var="restoreEntryURL">
+		<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.CHECK %>" />
+		<portlet:param name="struts_action" value="<%= restoreEntryAction %>" />
+	</portlet:actionURL>
+
+	<portlet:renderURL var="duplicateEntryURL" windowState="<%= LiferayWindowState.EXCLUSIVE.toString() %>">
+		<portlet:param name="struts_action" value="<%= duplicateEntryAction %>" />
+		<portlet:param name="redirect" value="<%= PortalUtil.getCurrentURL(request) %>" />
+		<portlet:param name="restoreEntryAction" value="<%= restoreEntryAction %>" />
+	</portlet:renderURL>
+
+	new Liferay.RestoreEntry(
+		{
+			duplicateEntryURL: '<%= duplicateEntryURL %>',
+			namespace: '<portlet:namespace />',
+			overrideMessage: '<%= overrideMessage %>',
+			renameMessage: '<%= renameMessage %>',
+			restoreEntryURL: '<%= restoreEntryURL %>'
+		}
+	);
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/rss/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/rss/page.jsp
new file mode 100644
index 0000000..f5fe850
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/rss/page.jsp
@@ -0,0 +1,35 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String message = (String)request.getAttribute("liferay-ui:rss:message");
+String url = (String)request.getAttribute("liferay-ui:rss:url");
+%>
+
+<liferay-ui:icon
+	cssClass="taglib-rss"
+	image="rss"
+	label="<%= true %>"
+	message="<%= message %>"
+	target="_blank"
+	url="<%= url %>"
+/>
+
+<liferay-util:html-top>
+	<link href="<%= HtmlUtil.escape(url) %>" rel="alternate" title="RSS" type="application/rss+xml" />
+</liferay-util:html-top>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/rss_settings/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/rss_settings/init.jsp
new file mode 100644
index 0000000..fc3fca8
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/rss_settings/init.jsp
@@ -0,0 +1,19 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.util.RSSUtil" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/rss_settings/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/rss_settings/page.jsp
new file mode 100644
index 0000000..66e24aa
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/rss_settings/page.jsp
@@ -0,0 +1,91 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/rss_settings/init.jsp" %>
+
+<%
+int delta = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:rss-settings:delta"));
+String displayStyle = (String)request.getAttribute("liferay-ui:rss-settings:displayStyle");
+String[] displayStyles = (String[])request.getAttribute("liferay-ui:rss-settings:displayStyles");
+boolean enabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:rss-settings:enabled"));
+String feedType = (String)request.getAttribute("liferay-ui:rss-settings:feedType");
+String name = (String)request.getAttribute("liferay-ui:rss-settings:name");
+boolean nameEnabled = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:rss-settings:nameEnabled"));
+%>
+
+<div class="taglib-rss-settings">
+	<aui:fieldset>
+		<aui:input label="enable-rss-subscription" name="preferences--enableRss--" type="checkbox" value="<%= enabled %>" />
+
+		<div class="rss-settings-options" id="<portlet:namespace />rssOptions">
+			<c:if test="<%= nameEnabled %>">
+				<aui:input label="rss-feed-name" name="preferences--rssName--" type="text" value="<%= name %>" />
+			</c:if>
+
+			<aui:select label="maximum-items-to-display" name="preferences--rssDelta--">
+				<aui:option label="1" selected="<%= delta == 1 %>" />
+				<aui:option label="2" selected="<%= delta == 2 %>" />
+				<aui:option label="3" selected="<%= delta == 3 %>" />
+				<aui:option label="4" selected="<%= delta == 4 %>" />
+				<aui:option label="5" selected="<%= delta == 5 %>" />
+				<aui:option label="10" selected="<%= delta == 10 %>" />
+				<aui:option label="15" selected="<%= delta == 15 %>" />
+				<aui:option label="20" selected="<%= delta == 20 %>" />
+				<aui:option label="25" selected="<%= delta == 25 %>" />
+				<aui:option label="30" selected="<%= delta == 30 %>" />
+				<aui:option label="40" selected="<%= delta == 40 %>" />
+				<aui:option label="50" selected="<%= delta == 50 %>" />
+				<aui:option label="60" selected="<%= delta == 60 %>" />
+				<aui:option label="70" selected="<%= delta == 70 %>" />
+				<aui:option label="80" selected="<%= delta == 80 %>" />
+				<aui:option label="90" selected="<%= delta == 90 %>" />
+				<aui:option label="100" selected="<%= delta == 100 %>" />
+			</aui:select>
+
+			<aui:select label="display-style" name="preferences--rssDisplayStyle--">
+
+				<%
+				for (String curDisplayStyle : displayStyles) {
+				%>
+
+					<aui:option label="<%= curDisplayStyle %>" selected="<%= displayStyle.equals(curDisplayStyle) %>" />
+
+				<%
+				}
+				%>
+
+			</aui:select>
+
+			<aui:select label="format" name="preferences--rssFeedType--">
+
+				<%
+				for (String type : RSSUtil.FEED_TYPES) {
+				%>
+
+					<aui:option label="<%= RSSUtil.getFeedTypeName(type) %>" selected="<%= feedType.equals(type) %>" value="<%= type %>" />
+
+				<%
+				}
+				%>
+
+			</aui:select>
+		</div>
+	</aui:fieldset>
+</div>
+
+<aui:script>
+	Liferay.Util.toggleBoxes('<portlet:namespace />enableRssCheckbox','<portlet:namespace />rssOptions');
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search/init.jsp
new file mode 100644
index 0000000..e5530d3
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search/init.jsp
@@ -0,0 +1,23 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+namespace = PortalUtil.getPortletNamespace(PortletKeys.SEARCH);
+
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_search_init");
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search/start.jsp
new file mode 100644
index 0000000..37d5f22
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search/start.jsp
@@ -0,0 +1,67 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/search/init.jsp" %>
+
+<%
+long groupId = ParamUtil.getLong(request, namespace + "groupId");
+
+Group group = themeDisplay.getScopeGroup();
+
+String keywords = ParamUtil.getString(request, namespace + "keywords");
+
+PortletURL portletURL = null;
+
+if (portletResponse != null) {
+	LiferayPortletResponse liferayPortletResponse = (LiferayPortletResponse)portletResponse;
+
+	portletURL = liferayPortletResponse.createLiferayPortletURL(PortletKeys.SEARCH, PortletRequest.RENDER_PHASE);
+}
+else {
+	portletURL = new PortletURLImpl(request, PortletKeys.SEARCH, plid, PortletRequest.RENDER_PHASE);
+}
+
+portletURL.setParameter("struts_action", "/search/search");
+portletURL.setParameter("redirect", currentURL);
+portletURL.setPortletMode(PortletMode.VIEW);
+portletURL.setWindowState(WindowState.MAXIMIZED);
+
+pageContext.setAttribute("portletURL", portletURL);
+%>
+
+<form action="<%= portletURL.toString() %>" method="get" name="<%= randomNamespace %><%= namespace %>fm" onSubmit="<%= randomNamespace %><%= namespace %>search(); return false;">
+<liferay-portlet:renderURLParams varImpl="portletURL" />
+
+<input name="<%= namespace %>keywords" size="30" title="<liferay-ui:message key="search" />" type="text" value="<%= HtmlUtil.escapeAttribute(keywords) %>" />
+
+<select name="<%= namespace %>groupId" title="<liferay-ui:message key="scope" /> ">
+	<option value="0" <%= (groupId == 0) ? "selected" : "" %>><liferay-ui:message key="everything" /></option>
+	<option value="<%= group.getGroupId() %>" <%= (groupId != 0) ? "selected" : "" %>><liferay-ui:message key='<%= "this-" + (group.isOrganization() ? "organization" : "site") %>' /></option>
+</select>
+
+<input align="absmiddle" border="0" src="<%= themeDisplay.getPathThemeImages() %>/common/search.png" title="<liferay-ui:message key="search" />" type="image" />
+
+<aui:script>
+	function <%= randomNamespace %><%= namespace %>search() {
+		var keywords = document.<%= randomNamespace %><%= namespace %>fm.<%= namespace %>keywords.value;
+
+		keywords = keywords.replace(/^\s+|\s+$/, '');
+
+		if (keywords != '') {
+			submitForm(document.<%= randomNamespace %><%= namespace %>fm);
+		}
+	}
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_container/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_container/init.jsp
new file mode 100644
index 0000000..5030d8b
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_container/init.jsp
@@ -0,0 +1,17 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_container/status.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_container/status.jsp
new file mode 100644
index 0000000..cb16f10
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_container/status.jsp
@@ -0,0 +1,51 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/search_container/init.jsp" %>
+
+<%
+int status = GetterUtil.getInteger(request.getAttribute("liferay-ui:search-container-column-status:status"));
+long statusByUserId = GetterUtil.getLong(request.getAttribute("liferay-ui:search-container-column-status:statusByUserId"));
+Date statusDate = GetterUtil.getDate(request.getAttribute("liferay-ui:search-container-column-status:statusDate"), DateFormatFactoryUtil.getDate(locale), null);
+
+User statusByUser = UserLocalServiceUtil.fetchUser(statusByUserId);
+%>
+
+<c:if test="<%= statusByUser != null %>">
+	<liferay-util:buffer var="buffer">
+		<div class="user-status-tooltip">
+			<span class="user-status-avatar">
+				<img alt="<%= HtmlUtil.escapeAttribute(statusByUser.getFullName()) %>" class="user-status-avatar-image" src="<%= HtmlUtil.escape(statusByUser.getPortraitURL(themeDisplay)) %>" />
+			</span>
+			<span class="user-status-info">
+				<div class="user-status-name">
+					<aui:a href="<%= statusByUser.getDisplayURL(themeDisplay) %>"><%= StringUtil.shorten(statusByUser.getFullName(), 20) %></aui:a>
+				</div>
+				<div class="user-status-date">
+					<liferay-ui:message arguments="<%= LanguageUtil.getTimeDescription(pageContext, System.currentTimeMillis() - statusDate.getTime(), true) %>" key="x-ago" />
+				</div>
+			</span>
+		</div>
+	</liferay-util:buffer>
+
+	<span onmouseover="Liferay.Portal.ToolTip.show(this, '<%= HtmlUtil.escapeJS(buffer) %>')">
+</c:if>
+
+<aui:workflow-status showIcon="<%= false %>" showLabel="<%= false %>" status="<%= status %>" />
+
+<c:if test="<%= statusByUser != null %>">
+	</span>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_iterator/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_iterator/page.jsp
new file mode 100644
index 0000000..1e92721
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_iterator/page.jsp
@@ -0,0 +1,380 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+SearchContainer searchContainer = (SearchContainer)request.getAttribute("liferay-ui:search:searchContainer");
+
+boolean paginate = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:search-iterator:paginate"));
+String type = (String)request.getAttribute("liferay-ui:search:type");
+
+String id = searchContainer.getId(request, namespace);
+
+int end = searchContainer.getEnd();
+int total = searchContainer.getTotal();
+List resultRows = searchContainer.getResultRows();
+List<String> headerNames = searchContainer.getHeaderNames();
+List<String> normalizedHeaderNames = searchContainer.getNormalizedHeaderNames();
+Map orderableHeaders = searchContainer.getOrderableHeaders();
+String emptyResultsMessage = searchContainer.getEmptyResultsMessage();
+RowChecker rowChecker = searchContainer.getRowChecker();
+
+if (end > total) {
+	end = total;
+}
+
+if (rowChecker != null) {
+	if (headerNames != null) {
+		headerNames.add(0, rowChecker.getAllRowsCheckBox());
+
+		normalizedHeaderNames.add(0, "rowChecker");
+	}
+}
+
+String url = StringPool.BLANK;
+
+PortletURL iteratorURL = searchContainer.getIteratorURL();
+
+if (iteratorURL != null) {
+	url = iteratorURL.toString();
+	url = HttpUtil.removeParameter(url, namespace + searchContainer.getOrderByColParam());
+	url = HttpUtil.removeParameter(url, namespace + searchContainer.getOrderByTypeParam());
+}
+
+List<String> primaryKeys = new ArrayList<String>();
+
+int sortColumnIndex = -1;
+%>
+
+<c:if test="<%= resultRows.isEmpty() && (emptyResultsMessage != null) %>">
+	<div class="alert alert-info">
+		<%= LanguageUtil.get(pageContext, emptyResultsMessage) %>
+	</div>
+</c:if>
+
+<div class="lfr-search-container <%= resultRows.isEmpty() ? "hide" : StringPool.BLANK %>">
+	<c:if test="<%= PropsValues.SEARCH_CONTAINER_SHOW_PAGINATION_TOP && (resultRows.size() > 10) && paginate %>">
+		<div class="taglib-search-iterator-page-iterator-top">
+			<liferay-ui:search-paginator id='<%= id + "PageIteratorTop" %>' searchContainer="<%= searchContainer %>" type="<%= type %>" />
+		</div>
+	</c:if>
+
+	<div id="<%= namespace + id %>SearchContainer">
+		<table class="table table-bordered table-hover table-striped">
+
+		<c:if test="<%= headerNames != null %>">
+			<thead class="table-columns">
+				<tr>
+
+				<%
+				for (int i = 0; i < headerNames.size(); i++) {
+					String headerName = headerNames.get(i);
+
+					String normalizedHeaderName = null;
+
+					if (i < normalizedHeaderNames.size()) {
+						normalizedHeaderName = normalizedHeaderNames.get(i);
+					}
+
+					if (Validator.isNull(normalizedHeaderName)) {
+						normalizedHeaderName = String.valueOf(i +1);
+					}
+
+					String orderKey = null;
+					String orderByType = null;
+					boolean orderCurrentHeader = false;
+
+					if (orderableHeaders != null) {
+						orderKey = (String)orderableHeaders.get(headerName);
+
+						if (orderKey != null) {
+							orderByType = searchContainer.getOrderByType();
+
+							if (orderKey.equals(searchContainer.getOrderByCol())) {
+								orderCurrentHeader = true;
+							}
+						}
+					}
+
+					String cssClass = StringPool.BLANK;
+
+					if (headerNames.size() == 1) {
+						cssClass = "only";
+					}
+					else if (i == 0) {
+						cssClass = "table-first-header";
+					}
+					else if (i == (headerNames.size() - 1)) {
+						cssClass = "table-last-header";
+					}
+
+					if (orderCurrentHeader) {
+						cssClass += " table-sortable-column table-sorted";
+
+						if (HtmlUtil.escapeAttribute(orderByType).equals("desc")) {
+							cssClass += " table-sorted-desc";
+						}
+
+						sortColumnIndex = i;
+
+						if (orderByType.equals("asc")) {
+							orderByType = "desc";
+						}
+						else {
+							orderByType = "asc";
+						}
+					}
+				%>
+
+					<th class="<%= cssClass %>" id="<%= namespace + id %>_col-<%= normalizedHeaderName %>"
+
+						<%--
+
+						// Minimize the width of the first column if and only if
+						// it is a row checker.
+
+						--%>
+
+						<c:if test="<%= (rowChecker != null) && (i == 0) %>">
+							width="1%"
+						</c:if>
+					>
+
+						<c:if test="<%= orderKey != null %>">
+							<div class="table-sort-liner">
+
+								<%
+								String orderByJS = searchContainer.getOrderByJS();
+								%>
+
+								<c:choose>
+									<c:when test="<%= Validator.isNull(orderByJS) %>">
+
+										<%
+										url = HttpUtil.setParameter(url, namespace + searchContainer.getOrderByColParam(), orderKey);
+										url = HttpUtil.setParameter(url, namespace + searchContainer.getOrderByTypeParam(), orderByType);
+										%>
+
+										<a href="<%= url %>">
+									</c:when>
+									<c:otherwise>
+										<a href="<%= StringUtil.replace(orderByJS, new String[] { "orderKey", "orderByType" }, new String[] { orderKey, orderByType }) %>">
+									</c:otherwise>
+								</c:choose>
+						</c:if>
+
+							<%
+							String headerNameValue = null;
+
+							if ((rowChecker == null) || (i > 0)) {
+								headerNameValue = LanguageUtil.get(pageContext, HtmlUtil.escape(headerName));
+							}
+							else {
+								headerNameValue = headerName;
+							}
+							%>
+
+							<c:choose>
+								<c:when test="<%= Validator.isNull(headerNameValue) %>">
+									<%= StringPool.NBSP %>
+								</c:when>
+								<c:otherwise>
+									<%= headerNameValue %>
+								</c:otherwise>
+							</c:choose>
+
+						<c:if test="<%= orderKey != null %>">
+								</a>
+
+								<span class="table-sort-indicator"></span>
+							</div>
+						</c:if>
+					</th>
+
+				<%
+				}
+				%>
+
+				</tr>
+			</thead>
+		</c:if>
+
+		<tbody class="table-data">
+
+		<c:if test="<%= resultRows.isEmpty() && (emptyResultsMessage != null) %>">
+			<tr>
+				<td class="table-cell">
+					<%= LanguageUtil.get(pageContext, emptyResultsMessage) %>
+				</td>
+			</tr>
+		</c:if>
+
+		<%
+		boolean allRowsIsChecked = true;
+
+		for (int i = 0; i < resultRows.size(); i++) {
+			ResultRow row = (ResultRow)resultRows.get(i);
+
+			primaryKeys.add(HtmlUtil.escape(row.getPrimaryKey()));
+
+			request.setAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW, row);
+
+			List entries = row.getEntries();
+
+			boolean rowIsChecked = false;
+
+			if (rowChecker != null) {
+				rowIsChecked = rowChecker.isChecked(row.getObject());
+
+				boolean rowIsDisabled = rowChecker.isDisabled(row.getObject());
+
+				if (!rowIsChecked) {
+					allRowsIsChecked = false;
+				}
+
+				TextSearchEntry textSearchEntry = new TextSearchEntry();
+
+				textSearchEntry.setAlign(rowChecker.getAlign());
+				textSearchEntry.setColspan(rowChecker.getColspan());
+				textSearchEntry.setCssClass(rowChecker.getCssClass());
+				textSearchEntry.setName(rowChecker.getRowCheckBox(request, rowIsChecked, rowIsDisabled, row.getPrimaryKey()));
+				textSearchEntry.setValign(rowChecker.getValign());
+
+				row.addSearchEntry(0, textSearchEntry);
+			}
+
+			request.setAttribute("liferay-ui:search-container-row:rowId", id.concat(StringPool.UNDERLINE.concat(row.getRowId())));
+
+			Map<String, Object> data = row.getData();
+		%>
+
+			<tr class="<%= GetterUtil.getString(row.getClassName()) %> <%= rowIsChecked ? "info" : StringPool.BLANK %>" <%= AUIUtil.buildData(data) %>>
+
+			<%
+			for (int j = 0; j < entries.size(); j++) {
+				SearchEntry entry = (SearchEntry)entries.get(j);
+
+				String normalizedHeaderName = null;
+
+				if ((normalizedHeaderNames != null) && (j < normalizedHeaderNames.size())) {
+					normalizedHeaderName = normalizedHeaderNames.get(j);
+				}
+
+				if (Validator.isNull(normalizedHeaderName)) {
+					normalizedHeaderName = String.valueOf(j + 1);
+				}
+
+				entry.setIndex(j);
+
+				request.setAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW_ENTRY, entry);
+
+				String columnClassName = entry.getCssClass();
+
+				if (entries.size() == 1) {
+					columnClassName += " only";
+				}
+				else if (j == 0) {
+					columnClassName += " first";
+				}
+				else if ((j + 1) == entries.size()) {
+					columnClassName += " last";
+				}
+
+				if (j == sortColumnIndex) {
+					columnClassName += " table-sortable-column";
+				}
+			%>
+
+				<td class="table-cell <%= columnClassName %>">
+
+					<%
+					entry.print(pageContext);
+					%>
+
+				</td>
+
+			<%
+			}
+			%>
+
+			</tr>
+
+		<%
+			request.removeAttribute("liferay-ui:search-container-row:rowId");
+		}
+		%>
+
+		<c:if test="<%= headerNames != null %>">
+			<tr class="lfr-template">
+
+				<%
+				for (int i = 0; i < headerNames.size(); i++) {
+				%>
+
+					<td class="table-cell"></td>
+
+				<%
+				}
+				%>
+
+			</tr>
+		</c:if>
+
+		</tbody>
+		</table>
+	</div>
+
+	<c:if test="<%= PropsValues.SEARCH_CONTAINER_SHOW_PAGINATION_BOTTOM && paginate %>">
+		<div class="taglib-search-iterator-page-iterator-bottom">
+			<liferay-ui:search-paginator id='<%= id + "PageIteratorBottom" %>' searchContainer="<%= searchContainer %>" type="<%= type %>" />
+		</div>
+	</c:if>
+</div>
+
+<c:if test="<%= (rowChecker != null) && !resultRows.isEmpty() && Validator.isNotNull(rowChecker.getAllRowsId()) && allRowsIsChecked %>">
+	<aui:script>
+		document.<%= rowChecker.getFormName() %>.<%= rowChecker.getAllRowsId() %>.checked = true;
+	</aui:script>
+</c:if>
+
+<c:if test="<%= Validator.isNotNull(id) %>">
+	<input id="<%= namespace + id %>PrimaryKeys" name="<%= namespace + id %>PrimaryKeys" type="hidden" value="<%= StringUtil.merge(primaryKeys) %>" />
+
+	<aui:script use="liferay-search-container">
+		new Liferay.SearchContainer(
+			{
+				classNameHover: '<%= _CLASS_NAME_HOVER %>',
+				hover: <%= searchContainer.isHover() %>,
+				id: '<%= namespace + id %>',
+				rowClassNameAlternate: '<%= _ROW_CLASS_NAME_ALTERNATE %>',
+				rowClassNameAlternateHover: '<%= _ROW_CLASS_NAME_ALTERNATE_HOVER %>',
+				rowClassNameBody: '<%= _ROW_CLASS_NAME_BODY %>',
+				rowClassNameBodyHover: '<%= _ROW_CLASS_NAME_BODY %>'
+			}
+		).render();
+	</aui:script>
+</c:if>
+
+<%!
+private static final String _CLASS_NAME_HOVER = "hover";
+
+private static final String _ROW_CLASS_NAME_ALTERNATE = "";
+
+private static final String _ROW_CLASS_NAME_ALTERNATE_HOVER = "-hover";
+
+private static final String _ROW_CLASS_NAME_BODY = "";
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_paginator/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_paginator/page.jsp
new file mode 100644
index 0000000..66d4e03
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_paginator/page.jsp
@@ -0,0 +1,63 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+SearchContainer searchContainer = (SearchContainer)request.getAttribute("liferay-ui:search:searchContainer");
+
+String id = (String)request.getAttribute("liferay-ui:search:id");
+
+if (Validator.isNull(id) && (searchContainer != null)) {
+	id = searchContainer.getId(request, namespace);
+
+	id = id.concat("PageIterator");
+}
+
+String type = (String)request.getAttribute("liferay-ui:search:type");
+
+PortletURL iteratorURL = searchContainer.getIteratorURL();
+
+String url = StringPool.BLANK;
+
+if (iteratorURL != null) {
+	iteratorURL.setParameter("resetCur", Boolean.FALSE.toString());
+
+	url = HttpUtil.removeParameter(iteratorURL.toString(), namespace + searchContainer.getCurParam());
+}
+%>
+
+<c:choose>
+	<c:when test="<%= searchContainer.getTotal() > 0 %>">
+		<liferay-ui:page-iterator
+			cur="<%= searchContainer.getCur() %>"
+			curParam="<%= searchContainer.getCurParam() %>"
+			delta="<%= searchContainer.getDelta() %>"
+			deltaConfigurable="<%= searchContainer.isDeltaConfigurable() %>"
+			deltaParam="<%= searchContainer.getDeltaParam() %>"
+			id="<%= id %>"
+			maxPages="<%= PropsValues.SEARCH_CONTAINER_PAGE_ITERATOR_MAX_PAGES %>"
+			total="<%= searchContainer.getTotal() %>"
+			type="<%= type %>"
+			url="<%= url %>"
+		/>
+	</c:when>
+	<c:when test="<%= Validator.isNotNull(searchContainer.getEmptyResultsMessage()) %>">
+		<div class="alert alert-info">
+			<%= searchContainer.getEmptyResultsMessage() %>
+		</div>
+	</c:when>
+</c:choose>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_speed/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_speed/page.jsp
new file mode 100644
index 0000000..ad35ea9
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_speed/page.jsp
@@ -0,0 +1,34 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+SearchContainer searchContainer = (SearchContainer)request.getAttribute("liferay-ui:search:searchContainer");
+Hits hits = (Hits)request.getAttribute("liferay-ui:search:hits");
+
+searchContainer.setTotal(hits.getLength());
+
+NumberFormat doubleFormat = NumberFormat.getInstance(locale);
+doubleFormat.setMaximumFractionDigits(2);
+
+NumberFormat integerFormat = NumberFormat.getInstance(locale);
+integerFormat.setMaximumFractionDigits(0);
+%>
+
+<%= LanguageUtil.format(pageContext, "results-of", new Object[] {"<strong>" + ((searchContainer.getResultEnd() > 0) ? searchContainer.getStart() + 1 : 0)+ "</strong> - <strong>" + searchContainer.getResultEnd() + "</strong>", "<strong>" + integerFormat.format(searchContainer.getTotal()) + "</strong>"}, false) %>
+
+<%= LanguageUtil.format(pageContext, "search-took-x-seconds", new LanguageWrapper("<strong>", doubleFormat.format(hits.getSearchTime()), "</strong>"), false) %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_toggle/end.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_toggle/end.jsp
new file mode 100644
index 0000000..76ba264
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_toggle/end.jsp
@@ -0,0 +1,95 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/search_toggle/init.jsp" %>
+
+			</div>
+		</div>
+	</div>
+</div>
+
+<aui:script position="inline" use="aui-popover,event-key">
+	var popover;
+
+	var simpleNode = A.one('#<%= id %>simple');
+	var advancedNode = A.one('#<%= id %>advanced');
+	var toggleAdvancedNode = A.one('#<%= id %>toggleAdvanced');
+	var keywordsNode = A.one('#<%= id + displayTerms.KEYWORDS %>');
+
+	function enableOrDisableElements(event) {
+		simpleNode.all('input').set('disabled', event.newVal);
+		advancedNode.all('input').set('disabled', !event.newVal);
+	}
+
+	function getPopover() {
+		if (!popover) {
+			popover = new A.Popover(
+				{
+					after: {
+						visibleChange: enableOrDisableElements
+					},
+					align: {
+						node: toggleAdvancedNode,
+						points:[A.WidgetPositionAlign.TR, A.WidgetPositionAlign.BR]
+					},
+					bodyContent: A.one('#<%= id %>advancedBodyNode'),
+					boundingBox: advancedNode,
+					position: 'bottom',
+					srcNode: '#<%= id %>advancedContent',
+					visible: false,
+					width: <%= width %>,
+					zIndex: Liferay.zIndex.ALERT
+				}
+			);
+		}
+
+		return popover;
+	}
+
+	function togglePopover(event) {
+		popover = getPopover().render();
+
+		var visible = popover.get('visible');
+
+		popover.set('visible', !visible);
+
+		if (visible) {
+			keywordsNode.focus();
+		}
+		else {
+			var inputTextNode = advancedNode.one('input[type=text]');
+
+			if (inputTextNode) {
+				inputTextNode.focus();
+			}
+		}
+
+		var advancedSearchNode = advancedNode.one('#<%= id + displayTerms.ADVANCED_SEARCH %>');
+
+		advancedSearchNode.val(!visible);
+
+		event.preventDefault();
+	}
+
+	toggleAdvancedNode.on('click', togglePopover);
+	keywordsNode.on('key', togglePopover, 'down:38,40');
+</aui:script>
+
+<c:if test="<%= autoFocus %>">
+	<aui:script>
+		Liferay.Util.focusFormField('#<%= id + displayTerms.KEYWORDS %>');
+	</aui:script>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_toggle/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_toggle/init.jsp
new file mode 100644
index 0000000..3032213
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_toggle/init.jsp
@@ -0,0 +1,25 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+boolean autoFocus = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:search-toggle:autoFocus"));
+String buttonLabel = (String)request.getAttribute("liferay-ui:search-toggle:buttonLabel");
+DisplayTerms displayTerms = (DisplayTerms)request.getAttribute("liferay-ui:search-toggle:displayTerms");
+String id = (String)request.getAttribute("liferay-ui:search-toggle:id");
+int width = GetterUtil.getInteger(request.getAttribute("liferay-ui:search-toggle:width"), 248);
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_toggle/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_toggle/start.jsp
new file mode 100644
index 0000000..cf21259
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/search_toggle/start.jsp
@@ -0,0 +1,44 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/search_toggle/init.jsp" %>
+
+<div class="taglib-search-toggle">
+	<div class="form-search">
+		<div class="input-append" id="<%= id %>simple">
+			<input class="search-query span9" id="<%= id + displayTerms.KEYWORDS %>" name="<portlet:namespace /><%= displayTerms.KEYWORDS %>" placeholder="<liferay-ui:message key="keywords" />" type="text" value="<%= displayTerms.getKeywords() %>" />
+
+			<button class="btn" type="submit">
+				<%= LanguageUtil.get(pageContext, buttonLabel, "search") %>
+			</button>
+		</div>
+		<button class="btn-link" id="<%= id %>toggleAdvanced" type="button">
+			<i class="icon-cog"></i>
+		</button>
+	</div>
+	<div class="popover taglib-search-toggle-advanced" id="<%= id %>advanced">
+		<input id="<%= id + displayTerms.ADVANCED_SEARCH %>" name="<portlet:namespace /><%= displayTerms.ADVANCED_SEARCH %>" type="hidden" value="false" />
+
+		<div id="<%= id %>advancedContent">
+			<div id="<%= id %>advancedBodyNode">
+				<liferay-util:buffer var="andOperator">
+					<aui:select cssClass="inline-control" inlineField="<%= true %>" label="" name="<%= displayTerms.AND_OPERATOR %>">
+						<aui:option label="all" selected="<%= displayTerms.isAndOperator() %>" value="1" />
+						<aui:option label="any" selected="<%= !displayTerms.isAndOperator() %>" value="0" />
+					</aui:select>
+				</liferay-util:buffer>
+
+				<liferay-ui:message arguments="<%= andOperator %>" key="match-x-of-the-following-fields" />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/section/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/section/start.jsp
new file mode 100644
index 0000000..11ff746
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/section/start.jsp
@@ -0,0 +1,25 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String name = (String)request.getAttribute("liferay-ui:section:name");
+String param = (String)request.getAttribute("liferay-ui:section:param");
+boolean selected = (Boolean)request.getAttribute("liferay-ui:section:selected");
+%>
+
+<div class='<%= selected ? StringPool.BLANK : "hide" %>' id="<%= namespace %><%= param %><%= StringUtil.toCharCode(name) %>TabsSection">
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/sites_directory/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/sites_directory/init.jsp
new file mode 100644
index 0000000..d013424
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/sites_directory/init.jsp
@@ -0,0 +1,26 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.taglib.ui.SitesDirectoryTag" %>
+
+<%
+String displayStyle = (String)request.getAttribute("liferay-ui:sites-directory:displayStyle");
+String sites = (String)request.getAttribute("liferay-ui:sites-directory:sites");
+
+Group group = GroupLocalServiceUtil.getGroup(scopeGroupId);
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/sites_directory/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/sites_directory/page.jsp
new file mode 100644
index 0000000..514a742
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/sites_directory/page.jsp
@@ -0,0 +1,285 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/sites_directory/init.jsp" %>
+
+<c:if test="<%= layout != null %>">
+
+	<%
+	Group rootGroup = null;
+	boolean hidden = false;
+
+	List<Group> branchGroups = new ArrayList<Group>();
+
+	branchGroups.add(group);
+	branchGroups.addAll(group.getAncestors());
+
+	if (sites.equals(SitesDirectoryTag.SITES_TOP_LEVEL)) {
+	}
+	else if (sites.equals(SitesDirectoryTag.SITES_CHILDREN) && (branchGroups.size() > 0)) {
+		rootGroup = branchGroups.get(0);
+	}
+	else if (sites.equals(SitesDirectoryTag.SITES_SIBLINGS) && (branchGroups.size() > 1)) {
+		rootGroup = branchGroups.get(1);
+	}
+	else if (sites.equals(SitesDirectoryTag.SITES_SIBLINGS) && group.isRoot()) {
+	}
+	else if (sites.equals(SitesDirectoryTag.SITES_PARENT_LEVEL) && (branchGroups.size() > 2)) {
+		rootGroup = branchGroups.get(2);
+	}
+	else if (sites.equals(SitesDirectoryTag.SITES_PARENT_LEVEL) && (branchGroups.size() == 2)) {
+	}
+	else {
+		hidden = true;
+	}
+	%>
+
+	<div class="sites-directory-taglib nav-menu">
+		<c:choose>
+			<c:when test="<%= hidden %>">
+				<div class="alert alert-info">
+					<liferay-ui:message key="no-sites-were-found" />
+				</div>
+			</c:when>
+			<c:otherwise>
+				<c:choose>
+					<c:when test='<%= displayStyle.equals("descriptive") || displayStyle.equals("icon") %>'>
+						<c:choose>
+							<c:when test="<%= Validator.isNull(portletDisplay.getId()) %>">
+								<div class="alert alert-info">
+									<liferay-ui:message arguments="<%= displayStyle %>" key="the-display-style-x-cannot-be-used-in-this-context" />
+								</div>
+							</c:when>
+							<c:otherwise>
+
+								<%
+								PortletURL portletURL = PortletURLFactoryUtil.create(request, portletDisplay.getId(), plid, PortletRequest.RENDER_PHASE);
+								%>
+
+								<liferay-ui:search-container emptyResultsMessage="no-sites-were-found" iteratorURL="<%= portletURL %>">
+
+									<%
+									List<Group> childGroups = null;
+
+									if (rootGroup != null) {
+										childGroups = rootGroup.getChildrenWithLayouts(true, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
+									}
+									else {
+										childGroups = GroupLocalServiceUtil.getLayoutsGroups(group.getCompanyId(), GroupConstants.DEFAULT_LIVE_GROUP_ID, true, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
+									}
+
+									List<Group> visibleGroups = new UniqueList<Group>();
+
+									for (Group childGroup : childGroups) {
+										if (childGroup.hasPublicLayouts()) {
+											visibleGroups.add(childGroup);
+										}
+										else if (GroupLocalServiceUtil.hasUserGroup(user.getUserId(), childGroup.getGroupId())) {
+											visibleGroups.add(childGroup);
+										}
+									}
+
+									total = visibleGroups.size();
+
+									searchContainer.setTotal(total);
+									%>
+
+									<liferay-ui:search-container-results
+										results="<%= ListUtil.subList(visibleGroups, searchContainer.getStart(), searchContainer.getEnd()) %>"
+									/>
+
+									<liferay-ui:search-container-row
+										className="com.liferay.portal.model.Group"
+										modelVar="childGroup"
+									>
+
+										<%
+										LayoutSet layoutSet = null;
+
+										if (childGroup.hasPublicLayouts()) {
+											layoutSet = childGroup.getPublicLayoutSet();
+										}
+										else {
+											layoutSet = childGroup.getPrivateLayoutSet();
+										}
+										%>
+
+										<liferay-ui:app-view-entry
+											assetCategoryClassName="<%= Group.class.getName() %>"
+											assetCategoryClassPK="<%= childGroup.getGroupId() %>"
+											assetTagClassName="<%= Group.class.getName() %>"
+											assetTagClassPK="<%= childGroup.getGroupId() %>"
+											description="<%= HtmlUtil.escape(childGroup.getDescription()) %>"
+											displayStyle="<%= displayStyle %>"
+											showCheckbox="<%= false %>"
+											thumbnailSrc='<%= themeDisplay.getPathImage() + "/layout_set_logo?img_id=" + layoutSet.getLogoId() + "&t=" + WebServerServletTokenUtil.getToken(layoutSet.getLogoId()) %>'
+											title="<%= HtmlUtil.escape(childGroup.getDescriptiveName(locale)) %>"
+											url="<%= (childGroup.getGroupId() != scopeGroupId) ? PortalUtil.getGroupFriendlyURL(childGroup, !childGroup.hasPublicLayouts(), themeDisplay) : null %>"
+										/>
+									</liferay-ui:search-container-row>
+
+									<liferay-ui:search-iterator />
+								</liferay-ui:search-container>
+							</c:otherwise>
+						</c:choose>
+					</c:when>
+					<c:otherwise>
+
+						<%
+						StringBundler sb = new StringBundler();
+
+						_buildSitesList(rootGroup, group, branchGroups, themeDisplay, 1, displayStyle.equals("list-hierarchy"), true, sb);
+
+						String content = sb.toString();
+						%>
+
+						<%= content %>
+
+					</c:otherwise>
+				</c:choose>
+			</c:otherwise>
+		</c:choose>
+	</div>
+</c:if>
+
+<%!
+private void _buildSitesList(Group rootGroup, Group curGroup, List<Group> branchGroups, ThemeDisplay themeDisplay, int groupLevel, boolean showHierarchy, boolean nestedChildren, StringBundler sb) throws Exception {
+	List<Group> childGroups = null;
+
+	if (rootGroup != null) {
+		childGroups = rootGroup.getChildrenWithLayouts(true, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
+	}
+	else {
+		childGroups = GroupLocalServiceUtil.getLayoutsGroups(curGroup.getCompanyId(), GroupConstants.DEFAULT_LIVE_GROUP_ID, true, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
+	}
+
+	List<Group> visibleGroups = new UniqueList<Group>();
+
+	for (Group childGroup : childGroups) {
+		if (childGroup.hasPublicLayouts()) {
+			visibleGroups.add(childGroup);
+		}
+		else {
+			User user = themeDisplay.getUser();
+
+			List<Group> mySiteGroups = user.getMySiteGroups(true, QueryUtil.ALL_POS);
+
+			if (mySiteGroups.contains(childGroup)) {
+				visibleGroups.add(childGroup);
+			}
+		}
+	}
+
+	if (childGroups.isEmpty()) {
+		if (sb.length() == 0) {
+			sb.append("<div class=\"alert alert-info\">");
+			sb.append(LanguageUtil.get(themeDisplay.getLocale(), "no-sites-were-found"));
+			sb.append("</div>");
+		}
+
+		return;
+	}
+
+	StringBundler tailSB = null;
+
+	if (!nestedChildren) {
+		tailSB = new StringBundler();
+	}
+
+	sb.append("<ul class=\"sites level-");
+	sb.append(groupLevel);
+	sb.append("\">");
+
+	for (Group childGroup : childGroups) {
+		boolean open = false;
+
+		if (showHierarchy) {
+			open = true;
+		}
+
+		String className = StringPool.BLANK;
+
+		if (open) {
+			className += "open ";
+		}
+
+		if (curGroup.getGroupId() == childGroup.getGroupId()) {
+			className += "selected ";
+		}
+
+		sb.append("<li ");
+
+		if (Validator.isNotNull(className)) {
+			sb.append("class=\"");
+			sb.append(className);
+			sb.append("\" ");
+		}
+
+		sb.append(">");
+
+		if (childGroup.getGroupId() != themeDisplay.getScopeGroupId()) {
+			sb.append("<a ");
+		}
+		else {
+			sb.append("<span ");
+		}
+
+		if (Validator.isNotNull(className)) {
+			sb.append("class=\"");
+			sb.append(className);
+			sb.append("\" ");
+		}
+
+		if (childGroup.getGroupId() != themeDisplay.getScopeGroupId()) {
+			sb.append("href=\"");
+			sb.append(HtmlUtil.escapeHREF(PortalUtil.getGroupFriendlyURL(childGroup, !childGroup.hasPublicLayouts(), themeDisplay)));
+			sb.append("\"");
+		}
+
+		sb.append("> ");
+
+		sb.append(HtmlUtil.escape(childGroup.getDescriptiveName(themeDisplay.getLocale())));
+
+		if (childGroup.getGroupId() != themeDisplay.getScopeGroupId()) {
+			sb.append("</a>");
+		}
+		else {
+			sb.append("</span>");
+		}
+
+		if (open) {
+			StringBundler childGroupSB = null;
+
+			if (nestedChildren) {
+				childGroupSB = sb;
+			}
+			else {
+				childGroupSB = tailSB;
+			}
+
+			_buildSitesList(childGroup, curGroup, branchGroups, themeDisplay, groupLevel + 1, showHierarchy, nestedChildren, childGroupSB);
+		}
+
+		sb.append("</li>");
+	}
+
+	sb.append("</ul>");
+
+	if (!nestedChildren) {
+		sb.append(tailSB);
+	}
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_activities/init-ext.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_activities/init-ext.jsp
new file mode 100644
index 0000000..8aa75ad
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_activities/init-ext.jsp
@@ -0,0 +1,15 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_activities/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_activities/init.jsp
new file mode 100644
index 0000000..030e916
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_activities/init.jsp
@@ -0,0 +1,46 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%@ page import="com.liferay.portlet.social.model.SocialActivity" %><%@
+page import="com.liferay.portlet.social.model.SocialActivityFeedEntry" %><%@
+page import="com.liferay.portlet.social.service.SocialActivityInterpreterLocalServiceUtil" %><%@
+page import="com.liferay.portlet.social.service.SocialActivityLocalServiceUtil" %>
+
+<%
+List<SocialActivity> activities = (List<SocialActivity>)request.getAttribute("liferay-ui:social-activities:activities");
+String className = (String)request.getAttribute("liferay-ui:social-activities:className");
+long classPK = GetterUtil.getLong((String)request.getAttribute("liferay-ui:social-activities:classPK"));
+int feedDelta = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:social-activities:feedDelta"));
+String feedDisplayStyle = (String)request.getAttribute("liferay-ui:social-activities:feedDisplayStyle");
+boolean feedEnabled = !PortalUtil.isRSSFeedsEnabled() ? false : GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:social-activities:feedEnabled"));
+String feedLink = (String)request.getAttribute("liferay-ui:social-activities:feedLink");
+String feedLinkMessage = (String)request.getAttribute("liferay-ui:social-activities:feedLinkMessage");
+String feedTitle = (String)request.getAttribute("liferay-ui:social-activities:feedTitle");
+String feedType = (String)request.getAttribute("liferay-ui:social-activities:feedType");
+
+if (activities == null) {
+	activities = SocialActivityLocalServiceUtil.getActivities(0, className, classPK, QueryUtil.ALL_POS, QueryUtil.ALL_POS);
+}
+
+String selector = StringPool.BLANK;
+
+Format dateFormatDate = FastDateFormatFactoryUtil.getSimpleDateFormat("MMMM d", locale, timeZone);
+Format timeFormatDate = FastDateFormatFactoryUtil.getTime(locale, timeZone);
+%>
+
+<%@ include file="/html/taglib/ui/social_activities/init-ext.jsp" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_activities/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_activities/page.jsp
new file mode 100644
index 0000000..cbd7738
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_activities/page.jsp
@@ -0,0 +1,111 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/social_activities/init.jsp" %>
+
+<div class="taglib-social-activities">
+	<table>
+
+	<%
+	ServiceContext serviceContext = ServiceContextFactory.getInstance(request);
+
+	boolean hasActivities = false;
+
+	Date now = new Date();
+
+	int daysBetween = -1;
+
+	for (SocialActivity activity : activities) {
+		SocialActivityFeedEntry activityFeedEntry = SocialActivityInterpreterLocalServiceUtil.interpret(selector, activity, serviceContext);
+
+		if (activityFeedEntry == null) {
+			continue;
+		}
+
+		if (!hasActivities) {
+			hasActivities = true;
+		}
+
+		Portlet portlet = PortletLocalServiceUtil.getPortletById(company.getCompanyId(), activityFeedEntry.getPortletId());
+
+		int curDaysBetween = DateUtil.getDaysBetween(new Date(activity.getCreateDate()), now, timeZone);
+	%>
+
+		<c:if test="<%= curDaysBetween > daysBetween %>">
+
+			<%
+			daysBetween = curDaysBetween;
+			%>
+
+			<tr>
+				<td class="day-separator" colspan="2">
+					<c:choose>
+						<c:when test="<%= curDaysBetween == 0 %>">
+							<liferay-ui:message key="today" />
+						</c:when>
+						<c:when test="<%= curDaysBetween == 1 %>">
+							<liferay-ui:message key="yesterday" />
+						</c:when>
+						<c:otherwise>
+							<%= dateFormatDate.format(activity.getCreateDate()) %>
+						</c:otherwise>
+					</c:choose>
+				</td>
+			</tr>
+		</c:if>
+
+		<tr>
+			<td class="portlet-icon">
+				<liferay-portlet:icon-portlet portlet="<%= portlet %>" />
+			</td>
+			<td class="activity-data">
+				<div class="activity-title">
+					<%= activityFeedEntry.getTitle() %>
+				</div>
+				<div class="activity-body">
+					<span class="time"><%= timeFormatDate.format(activity.getCreateDate()) %></span>
+
+					<%= activityFeedEntry.getBody() %>
+				</div>
+			</td>
+		</tr>
+
+	<%
+	}
+	%>
+
+	</table>
+
+	<c:if test="<%= !hasActivities %>">
+		<liferay-ui:message key="there-are-no-recent-activities" />
+	</c:if>
+</div>
+
+<c:if test="<%= feedEnabled && !activities.isEmpty() %>">
+	<div class="separator"><!-- --></div>
+
+	<liferay-ui:rss
+		delta="<%= feedDelta %>"
+		displayStyle="<%= feedDisplayStyle %>"
+		feedType="<%= feedType %>"
+		message="<%= feedLinkMessage %>"
+		name="<%= feedTitle %>"
+		url="<%= feedLink %>"
+	/>
+</c:if>
+
+<%!
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/facebook.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/facebook.jsp
new file mode 100644
index 0000000..1c874c7
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/facebook.jsp
@@ -0,0 +1,44 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/social_bookmark/init.jsp" %>
+
+<%
+String facebookDisplayStyle = "button_count";
+
+if (displayStyle.equals("simple")) {
+	facebookDisplayStyle = "standard";
+}
+else if (displayStyle.equals("vertical")) {
+	facebookDisplayStyle = "box_count";
+}
+%>
+
+<liferay-util:html-bottom outputKey="taglib_ui_social_bookmark_facebook">
+	<script src="<%= HttpUtil.getProtocol(request) %>://connect.facebook.net/<%= locale.getLanguage() %>_<%= locale.getCountry() %>/all.js#xfbml=1"></script>
+</liferay-util:html-bottom>
+
+<div id="fb-root"></div>
+
+<div class="fb-like"
+	data-font=""
+	data-height="<%= (facebookDisplayStyle.equals("standard") || facebookDisplayStyle.equals("button_count")) ? 20 : StringPool.BLANK %>"
+	data-href="<%= url %>"
+	data-layout="<%= facebookDisplayStyle %>"
+	data-send="false"
+	data-show_faces="true"
+>
+</div>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/init.jsp
new file mode 100644
index 0000000..3f77b81
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/init.jsp
@@ -0,0 +1,28 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String displayStyle = GetterUtil.getString((String)request.getAttribute("liferay-ui:social-bookmark:displayStyle"), "horizontal");
+String type = (String)request.getAttribute("liferay-ui:social-bookmark:type");
+String url = GetterUtil.getString((String)request.getAttribute("liferay-ui:social-bookmark:url"));
+String title = GetterUtil.getString((String)request.getAttribute("liferay-ui:social-bookmark:title"));
+String target = GetterUtil.getString((String)request.getAttribute("liferay-ui:social-bookmark:target"));
+String postUrl = (String)request.getAttribute("liferay-ui:social-bookmark:postUrl");
+
+String messageKey = "social-bookmark-" + type;
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/page.jsp
new file mode 100644
index 0000000..93f18e8
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/page.jsp
@@ -0,0 +1,27 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/social_bookmark/init.jsp" %>
+
+<liferay-util:html-bottom outputKey='<%= "taglib_ui_social_bookmark_link_" + type %>'>
+	<style type="text/css">
+		.taglib-social-bookmarks .taglib-social-bookmark-<%= type %> a.social-bookmark-link {
+			background-image: url(/html/taglib/ui/social_bookmark/icons/<%= type %>.png);
+		}
+	</style>
+</liferay-util:html-bottom>
+
+<aui:a cssClass="social-bookmark-link" href="<%= postUrl %>" target="<%= target %>"><liferay-ui:message key="<%= messageKey %>" /></aui:a>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/plusone.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/plusone.jsp
new file mode 100644
index 0000000..d247cc5
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/plusone.jsp
@@ -0,0 +1,53 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/social_bookmark/init.jsp" %>
+
+<%
+String plusOneDisplayStyle = "medium";
+
+if (displayStyle.equals("vertical")) {
+	plusOneDisplayStyle = "tall";
+}
+%>
+
+<liferay-util:html-bottom outputKey="taglib_ui_social_bookmark_plusone">
+	<script type="text/javascript">
+		window.___gcfg = {
+			lang: '<%= locale.getLanguage() %>-<%= locale.getCountry() %>'
+		};
+
+		(function() {
+			var script = document.createElement('script');
+
+			script.async = true;
+			script.type = 'text/javascript';
+
+			script.src = 'https://apis.google.com/js/plusone.js';
+
+			var firstScript = document.getElementsByTagName('script')[0];
+
+			firstScript.parentNode.insertBefore(script, firstScript);
+		})();
+	</script>
+</liferay-util:html-bottom>
+
+<g:plusone
+	count="<%= !displayStyle.equals("simple") %>"
+	href="<%= url %>"
+	size="<%= plusOneDisplayStyle %>"
+>
+</g:plusone>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/twitter.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/twitter.jsp
new file mode 100644
index 0000000..a45de55
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmark/twitter.jsp
@@ -0,0 +1,31 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/social_bookmark/init.jsp" %>
+
+<%
+String twitterDisplayStyle = "none";
+
+if (displayStyle.equals("horizontal") || displayStyle.equals("vertical")) {
+	twitterDisplayStyle = displayStyle;
+}
+%>
+
+<a class="twitter-share-button" data-count="<%= twitterDisplayStyle %>" data-lang="<%= locale.getDisplayLanguage() %>" data-text="<%= HtmlUtil.escapeAttribute(title) %>" data-url="<%= url %>" href="http://twitter.com/share"><liferay-ui:message key="tweet" /></a>
+
+<liferay-util:html-bottom outputKey="twitter">
+	<script src="<%= HttpUtil.getProtocol(request) %>://platform.twitter.com/widgets.js" type="text/javascript"></script>
+</liferay-util:html-bottom>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmarks/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmarks/init.jsp
new file mode 100644
index 0000000..7f91fa8
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmarks/init.jsp
@@ -0,0 +1,34 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String contentId = GetterUtil.getString((String)request.getAttribute("liferay-ui:social-bookmark:contentId"));
+String types = GetterUtil.getString((String)request.getAttribute("liferay-ui:social-bookmark:types"));
+String url = GetterUtil.getString((String)request.getAttribute("liferay-ui:social-bookmark:url"));
+String title = GetterUtil.getString((String)request.getAttribute("liferay-ui:social-bookmark:title"));
+String target = GetterUtil.getString((String)request.getAttribute("liferay-ui:social-bookmark:target"));
+
+String[] typesArray = null;
+
+if (Validator.isNotNull(types)) {
+	typesArray = StringUtil.split(types);
+}
+else {
+	typesArray = PropsUtil.getArray(PropsKeys.SOCIAL_BOOKMARK_TYPES);
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmarks/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmarks/page.jsp
new file mode 100644
index 0000000..2086c52
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/social_bookmarks/page.jsp
@@ -0,0 +1,43 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/social_bookmarks/init.jsp" %>
+
+<c:if test="<%= typesArray.length > 0 %>">
+
+	<%
+	String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_social_bookmarks_page") + StringPool.UNDERLINE;
+	%>
+
+	<div class="taglib-social-bookmarks" id="<%= randomNamespace %>socialBookmarks">
+		<ul class="unstyled">
+
+			<%
+			for (int i = 0; i < typesArray.length; i++) {
+				String styleClass = "taglib-social-bookmark-" + typesArray[i];
+			%>
+
+				<li class="<%= styleClass %>">
+					<liferay-ui:social-bookmark contentId="<%= contentId %>" target="<%= target %>" title="<%= title %>" type="<%= typesArray[i] %>" url="<%= url %>" />
+				</li>
+
+			<%
+			}
+			%>
+
+		</ul>
+	</div>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/staging/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/staging/page.jsp
new file mode 100644
index 0000000..7f73051
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/staging/page.jsp
@@ -0,0 +1,125 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String cssClass = "staging-icon-menu " + GetterUtil.getString((String) request.getAttribute("liferay-ui:staging:cssClass"));
+boolean extended = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:staging:extended"));
+long groupId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:staging:groupId"));
+String icon = GetterUtil.getString((String)request.getAttribute("liferay-ui:staging:icon"));
+long layoutSetBranchId = GetterUtil.getLong((String)request.getAttribute("liferay-ui:staging:layoutSetBranchId"));
+String message = GetterUtil.getString((String)request.getAttribute("liferay-ui:staging:message"));
+boolean onlyActions = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:staging:onlyActions"));
+boolean privateLayout = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:staging:privateLayout"));
+long selPlid = GetterUtil.getLong((String)request.getAttribute("liferay-ui:staging:selPlid"));
+boolean showManageBranches = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:staging:showManageBranches"));
+
+if (Validator.isNotNull(icon)) {
+	icon = themeDisplay.getPathThemeImages() + icon;
+}
+
+LayoutSetBranch layoutSetBranch = null;
+List<LayoutSetBranch> layoutSetBranches = null;
+
+Group group = null;
+
+if (groupId > 0) {
+	group = GroupLocalServiceUtil.getGroup(groupId);
+}
+else {
+	group = themeDisplay.getScopeGroup();
+
+	if (group.isLayout()) {
+		group = layout.getGroup();
+	}
+}
+
+Group liveGroup = null;
+Group stagingGroup = null;
+
+if (group.isStagingGroup()) {
+	liveGroup = group.getLiveGroup();
+	stagingGroup = group;
+}
+else if (group.isStaged()) {
+	if (group.isStagedRemotely()) {
+		liveGroup = group;
+		stagingGroup = group;
+	}
+	else {
+		liveGroup = group;
+		stagingGroup = group.getStagingGroup();
+	}
+}
+
+if (groupId <= 0) {
+	privateLayout = layout.isPrivateLayout();
+}
+
+String publishDialogTitle = null;
+
+if (!group.isCompany()) {
+	layoutSetBranches = LayoutSetBranchLocalServiceUtil.getLayoutSetBranches(stagingGroup.getGroupId(), privateLayout);
+}
+
+if (group.isStaged() && group.isStagedRemotely()) {
+	if ((layoutSetBranchId > 0) && (layoutSetBranches.size() > 1)) {
+		publishDialogTitle = "publish-x-to-remote-live";
+	}
+	else {
+		publishDialogTitle = "publish-to-remote-live";
+	}
+}
+else {
+	if ((layoutSetBranchId > 0) && (layoutSetBranches.size() > 1)) {
+		publishDialogTitle = "publish-x-to-live";
+	}
+	else {
+		publishDialogTitle = "publish-to-live";
+	}
+}
+
+String publishMessage = LanguageUtil.get(pageContext, publishDialogTitle);
+%>
+
+<liferay-portlet:renderURL plid="<%= plid %>" portletMode="<%= PortletMode.VIEW.toString() %>" portletName="<%= PortletKeys.LAYOUTS_ADMIN %>" varImpl="publishRenderURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
+	<liferay-portlet:param name="struts_action" value="/layouts_admin/publish_layouts" />
+	<liferay-portlet:param name="<%= Constants.CMD %>" value="publish_to_live" />
+	<liferay-portlet:param name="tabs1" value='<%= (privateLayout) ? "private-pages" : "public-pages" %>' />
+	<liferay-portlet:param name="closeRedirect" value="<%= currentURL %>" />
+	<liferay-portlet:param name="groupId" value="<%= String.valueOf(groupId) %>" />
+	<liferay-portlet:param name="selPlid" value="<%= String.valueOf(selPlid) %>" />
+</liferay-portlet:renderURL>
+
+<c:if test="<%= stagingGroup != null %>">
+	<c:choose>
+		<c:when test="<%= onlyActions %>">
+			<%@ include file="/html/taglib/ui/staging/staging_actions.jspf" %>
+		</c:when>
+		<c:otherwise>
+			<aui:nav-bar>
+				<aui:nav>
+					<aui:nav-item dropdown="<%= true %>" label="staging">
+						<aui:nav-item cssClass="<%= cssClass %>" label="<%= extended ? message : StringPool.BLANK %>">
+							<%@ include file="/html/taglib/ui/staging/staging_actions.jspf" %>
+						</aui:nav-item>
+					</aui:nav-item>
+				</aui:nav>
+			</aui:nav-bar>
+		</c:otherwise>
+	</c:choose>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/staging/staging_actions.jspf b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/staging/staging_actions.jspf
new file mode 100644
index 0000000..9251706
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/staging/staging_actions.jspf
@@ -0,0 +1,188 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<c:choose>
+	<c:when test="<%= group.isCompany() && GroupPermissionUtil.contains(permissionChecker, group.getGroupId(), ActionKeys.PUBLISH_STAGING) %>">
+		<liferay-ui:icon
+			id='<%= groupId + "publishGlobalLink" %>'
+			message="<%= publishDialogTitle %>"
+			url="<%= publishRenderURL.toString() %>"
+		/>
+
+		<aui:script use="aui-base">
+			var publishGlobalLink = A.one('#<portlet:namespace /><%= groupId + "publishGlobalLink" %>');
+
+			if (publishGlobalLink) {
+				publishGlobalLink.detach('click');
+
+				publishGlobalLink.on(
+					'click',
+					function(event) {
+						event.preventDefault();
+
+						Liferay.LayoutExporter.publishToLive(
+							{
+								title: '<%= UnicodeFormatter.toString(publishMessage) %>',
+								url: event.currentTarget.attr('href')
+							}
+						);
+					}
+				);
+			}
+		</aui:script>
+	</c:when>
+	<c:otherwise>
+
+		<%
+		Group groupType = layout.getGroup();
+		%>
+
+		<c:if test="<%= (liveGroup != null) && GroupPermissionUtil.contains(permissionChecker, liveGroup.getGroupId(), ActionKeys.PUBLISH_STAGING) %>">
+
+			<%
+			if (groupId == 0) {
+				publishRenderURL.setParameter("selPlid", String.valueOf(plid));
+			}
+			%>
+
+			<c:choose>
+				<c:when test="<%= (layoutSetBranchId > 0) && (layoutSetBranches.size() > 1) %>">
+
+					<%
+					layoutSetBranch = LayoutSetBranchLocalServiceUtil.getLayoutSetBranch(layoutSetBranchId);
+
+					publishRenderURL.setParameter("layoutSetBranchId", String.valueOf(layoutSetBranchId));
+					publishRenderURL.setParameter("layoutSetBranchName", layoutSetBranch.getName());
+
+					publishMessage = LanguageUtil.format(pageContext, publishDialogTitle, HtmlUtil.escape(layoutSetBranch.getName()));
+					%>
+
+				</c:when>
+				<c:otherwise>
+					<c:if test="<%= layoutSetBranches.size() == 1 %>">
+
+						<%
+						layoutSetBranch = layoutSetBranches.get(0);
+
+						publishRenderURL.setParameter("layoutSetBranchId", String.valueOf(layoutSetBranch.getLayoutSetBranchId()));
+						%>
+
+					</c:if>
+				</c:otherwise>
+			</c:choose>
+
+			<liferay-util:buffer var="publishLink">
+
+				<%
+				String linkCssClass = StringPool.BLANK;
+
+				if (!groupType.isControlPanel()) {
+					linkCssClass = "btn btn-success";
+				}
+				%>
+
+				<aui:a cssClass='<%= linkCssClass + " publish-link" %>' href="<%= publishRenderURL.toString() %>" id='<%= layoutSetBranchId + "publishLink" %>' label="<%= publishMessage %>" />
+			</liferay-util:buffer>
+
+			<c:choose>
+				<c:when test="<%= !onlyActions %>">
+					<li class="publish-link-container">
+						<%= publishLink %>
+					</li>
+				</c:when>
+				<c:otherwise>
+					<div class="<%= cssClass %> publish-link-container">
+						<%= publishLink %>
+					</div>
+				</c:otherwise>
+			</c:choose>
+
+			<aui:script use="aui-base">
+				var publishLink = A.one('#<portlet:namespace /><%= layoutSetBranchId + "publishLink" %>');
+
+				if (publishLink) {
+					publishLink.detach('click');
+
+					publishLink.on(
+						'click',
+						function(event) {
+							event.preventDefault();
+
+							Liferay.LayoutExporter.publishToLive(
+								{
+									title: '<%= UnicodeFormatter.toString(publishMessage) %>',
+									url: event.currentTarget.attr('href')
+								}
+							);
+						}
+					);
+				}
+			</aui:script>
+		</c:if>
+
+		<c:if test="<%= showManageBranches && !layoutSetBranches.isEmpty() %>">
+			<portlet:renderURL var="layoutSetBranchesURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
+				<portlet:param name="struts_action" value="/staging_bar/view_layout_set_branches" />
+				<portlet:param name="groupId" value="<%= String.valueOf(groupId) %>" />
+				<portlet:param name="privateLayout" value="<%= String.valueOf(privateLayout) %>" />
+				<portlet:param name="selPlid" value="<%= String.valueOf(selPlid) %>" />
+			</portlet:renderURL>
+
+			<liferay-util:buffer var="manageSitePagesVariationsLink">
+				<aui:a cssClass="manage-layout-set-branches" href="<%= layoutSetBranchesURL %>" id="manageLayoutSetBranches" label="manage-site-pages-variations" />
+			</liferay-util:buffer>
+
+			<c:choose>
+				<c:when test="<%= groupType.isControlPanel() %>">
+					<li class="publish-link-container">
+						<%= manageSitePagesVariationsLink %>
+					</li>
+				</c:when>
+				<c:otherwise>
+					<div class="<%= cssClass %> publish-link-container">
+						<%= manageSitePagesVariationsLink %>
+					</div>
+				</c:otherwise>
+			</c:choose>
+
+			<aui:script use="aui-base">
+				var layoutSetBranchesLink = A.one('#<portlet:namespace />manageLayoutSetBranches');
+
+				if (layoutSetBranchesLink) {
+					layoutSetBranchesLink.detach('click');
+
+					layoutSetBranchesLink.on(
+						'click',
+						function(event) {
+							event.preventDefault();
+
+							Liferay.Util.openWindow(
+								{
+									dialog: {
+										width: 820
+									},
+									id: '<portlet:namespace />layoutSetBranches',
+									title: '<%= UnicodeLanguageUtil.get(pageContext, "manage-site-pages-variations") %>',
+									uri: event.currentTarget.attr('href')
+								}
+							);
+						}
+					);
+				}
+			</aui:script>
+		</c:if>
+	</c:otherwise>
+</c:choose>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/success/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/success/page.jsp
new file mode 100644
index 0000000..7f3c165
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/success/page.jsp
@@ -0,0 +1,36 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String key = (String)request.getAttribute("liferay-ui:success:key");
+String message = (String)request.getAttribute("liferay-ui:success:message");
+boolean translateMessage = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:success:translateMessage"));
+%>
+
+<c:if test="<%= SessionMessages.contains(portletRequest, key) %>">
+	<div class="alert alert-success">
+		<c:choose>
+			<c:when test="<%= translateMessage %>">
+				<%= LanguageUtil.get(pageContext, message) %>
+			</c:when>
+			<c:otherwise>
+				<%= message %>
+			</c:otherwise>
+		</c:choose>
+	</div>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/body.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/body.jsp
new file mode 100644
index 0000000..e3041e0
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/body.jsp
@@ -0,0 +1,43 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/table_iterator/init.jsp" %>
+
+</td>
+
+<c:if test="<%= ((listPos + 1) % rowLength) == 0 %>">
+	</tr>
+
+	<c:if test="<%= Validator.isNotNull(rowBreak) %>">
+		<tr>
+			<td colspan="<%= rowLength * 2 - 1 %>">
+				<%= rowBreak %>
+			</td>
+		</tr>
+	</c:if>
+
+	<c:if test="<%= (listPos + 1) < list.size() %>">
+		<tr>
+	</c:if>
+</c:if>
+
+<c:if test="<%= (listPos + 1) < list.size() %>">
+	<c:if test="<%= (listPos % rowLength) + 1 < rowLength %>">
+		<td style="padding-left: <%= rowPadding %>px;"></td>
+	</c:if>
+
+	<td valign="<%= rowValign %>">
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/end.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/end.jsp
new file mode 100644
index 0000000..d6868d7
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/end.jsp
@@ -0,0 +1,38 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/table_iterator/init.jsp" %>
+
+<%
+int mod = list.size() % rowLength;
+
+if (mod > 0) {
+	for (int i = mod; i < rowLength; i++) {
+%>
+
+		<td></td>
+
+<%
+	}
+%>
+
+	</tr>
+
+<%
+}
+%>
+
+</table>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/init.jsp
new file mode 100644
index 0000000..d6a9f02
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/init.jsp
@@ -0,0 +1,33 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+List list = (List)request.getAttribute("liferay-ui:table-iterator:list");
+int listPos = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:table-iterator:listPos"));
+int rowLength = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:table-iterator:rowLength"));
+String rowPadding = (String)request.getAttribute("liferay-ui:table-iterator:rowPadding");
+String rowValign = (String)request.getAttribute("liferay-ui:table-iterator:rowValign");
+String rowBreak = (String)request.getAttribute("liferay-ui:table-iterator:rowBreak");
+String width = (String)request.getAttribute("liferay-ui:table-iterator:width");
+
+// LEP-4752
+
+if (rowLength == 0) {
+	rowLength = 2;
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/start.jsp
new file mode 100644
index 0000000..5fb1516
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/table_iterator/start.jsp
@@ -0,0 +1,27 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/table_iterator/init.jsp" %>
+
+<table border="0" cellpadding="0" cellspacing="0"
+
+<c:if test="<%= Validator.isNotNull(width) %>">
+	width="<%= width %>"
+</c:if>
+
+>
+<tr>
+	<td class="lrf-<%= rowValign %>">
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/tabs/end.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/tabs/end.jsp
new file mode 100644
index 0000000..a78a4eb
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/tabs/end.jsp
@@ -0,0 +1,27 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/tabs/init.jsp" %>
+
+<%
+String errorSection = (String)request.getAttribute("errorSection");
+%>
+
+<c:if test="<%= !themeDisplay.isFacebook() %>">
+	<aui:script>
+		Liferay.Portal.Tabs.show("<%= namespace + param %>", <%= namesJS %>, "<%= UnicodeFormatter.toString((errorSection == null) ? value : errorSection) %>");
+	</aui:script>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/tabs/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/tabs/init.jsp
new file mode 100644
index 0000000..ec59699
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/tabs/init.jsp
@@ -0,0 +1,49 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+
+// Names
+
+String[] names = (String[])request.getAttribute("liferay-ui:tabs:names");
+String namesJS = JS.toScript(names);
+
+// Values
+
+String[] values = (String[])request.getAttribute("liferay-ui:tabs:values");
+
+if ((values == null) || (values.length < names.length)) {
+	values = names;
+}
+
+// Form name
+
+String formName = (String)request.getAttribute("liferay-ui:tabs:formName");
+
+// Param
+
+String param = (String)request.getAttribute("liferay-ui:tabs:param");
+
+// Value
+
+String value = (String)request.getAttribute("liferay-ui:tabs:value");
+
+if (value == null) {
+	value = ParamUtil.getString(request, param, values[0]);
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/tabs/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/tabs/start.jsp
new file mode 100644
index 0000000..7815512
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/tabs/start.jsp
@@ -0,0 +1,226 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/tabs/init.jsp" %>
+
+<%
+
+// URL
+
+LiferayPortletURL portletURL = (LiferayPortletURL)request.getAttribute("liferay-ui:tabs:portletURL");
+
+String url = GetterUtil.getString((String)request.getAttribute("liferay-ui:tabs:url"));
+String anchor = StringPool.BLANK;
+String separator = StringPool.AMPERSAND;
+
+if (url != null) {
+
+	// Strip existing tab parameter and value from the URL
+
+	int x = url.indexOf(param + "=");
+
+	if (x != -1) {
+		int y = url.lastIndexOf("&", x);
+
+		if (y == -1) {
+			y = url.lastIndexOf("?", x);
+		}
+
+		int z = url.indexOf("&", y + 1);
+
+		if (z == -1) {
+			z = url.length();
+		}
+
+		url = url.substring(0, y) + url.substring(z);
+	}
+
+	// Strip trailing &
+
+	if (url.endsWith("&")) {
+		url = url.substring(0, url.length() - 1);
+	}
+
+	// Strip anchor
+
+	String[] urlArray = PortalUtil.stripURLAnchor(url, "&#");
+
+	anchor = urlArray[1];
+	url = urlArray[0];
+
+	if (!url.contains(StringPool.QUESTION)) {
+		separator = StringPool.QUESTION;
+	}
+}
+
+// Back url
+
+String backLabel = (String)request.getAttribute("liferay-ui:tabs:backLabel");
+String backURL = (String)request.getAttribute("liferay-ui:tabs:backURL");
+
+if (Validator.isNotNull(backURL) && !backURL.equals("javascript:history.go(-1);")) {
+	backURL = HtmlUtil.escapeHREF(PortalUtil.escapeRedirect(backURL));
+}
+
+// Refresh
+
+boolean refresh = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:tabs:refresh"));
+
+// onClick
+
+String onClick = GetterUtil.getString((String)request.getAttribute("liferay-ui:tabs:onClick"));
+
+// Type
+
+String type = GetterUtil.getString((String)request.getAttribute("liferay-ui:tabs:type"), "tabs");
+%>
+
+<c:if test="<%= names.length > 0 %>">
+
+	<%
+	String oldPortletURLValue = null;
+
+	if ((portletURL != null) && (param != null)) {
+		oldPortletURLValue = portletURL.getParameter(param);
+	}
+	%>
+
+	<c:choose>
+		<c:when test="<%= themeDisplay.isFacebook() %>">
+			<fb:tabs>
+		</c:when>
+		<c:otherwise>
+			<input name="<%= namespace %><%= param %>TabsScroll" type="hidden" />
+
+			<ul class="nav nav-<%= type %>">
+		</c:otherwise>
+	</c:choose>
+
+	<%
+	for (int i = 0; i < values.length; i++) {
+		String curURL = (String)request.getAttribute("liferay-ui:tabs:url" + i);
+
+		if (Validator.isNull(curURL)) {
+			if (values.length == 1) {
+				/*if (Validator.isNotNull(backURL)) {
+					curURL = backURL;
+				}*/
+			}
+			else {
+				if (refresh) {
+					if (portletURL != null) {
+						portletURL.setParameter(param, values[i]);
+
+						curURL = portletURL.toString();
+					}
+					else {
+						if (values[i].equals("&raquo;")) {
+							curURL = url + separator + namespace + param + "=" + values[0] + anchor;
+						}
+						else {
+							curURL = url + separator + namespace + param + "=" + values[i] + anchor;
+						}
+					}
+				}
+				else {
+					curURL = "javascript:";
+
+					if (Validator.isNotNull(formName)) {
+						curURL += "document." + namespace + formName + "." + namespace + param + ".value = '" + names[i] + "';";
+					}
+
+					curURL += "Liferay.Portal.Tabs.show('" + namespace + param + "', " + namesJS + ", '" + UnicodeFormatter.toString(names[i]) + "');";
+				}
+			}
+		}
+
+		String curOnClick = StringPool.BLANK;
+
+		if (Validator.isNotNull(onClick)) {
+			if (refresh) {
+				curOnClick = onClick + "('" + curURL + "', '" + values[i] + "'); return false;";
+			}
+			else {
+				curOnClick = "Liferay.Portal.Tabs.show('" + namespace + param + "', " + namesJS + ", '" + UnicodeFormatter.toString(names[i]) + "', " + onClick + ");";
+				curURL = "javascript:;";
+			}
+		}
+
+		boolean selected = (values.length == 1) || value.equals(values[i]);
+
+		String cssClassName = "tab";
+
+		if (selected) {
+			cssClassName += " active";
+		}
+	%>
+
+		<c:choose>
+			<c:when test="<%= themeDisplay.isFacebook() %>">
+				<fb:tab_item
+					align="left"
+					href="<%= curURL %>"
+					selected="<%= selected %>"
+					title="<%= LanguageUtil.get(pageContext, names[i]) %>"
+				/>
+			</c:when>
+			<c:otherwise>
+				<li class="<%= cssClassName %>" id="<%= namespace %><%= param %><%= StringUtil.toCharCode(values[i]) %>TabsId">
+					<a href="<%= Validator.isNotNull(curURL) ? curURL : "javascript:;" %>" onClick="<%= Validator.isNotNull(curOnClick) ? curOnClick : StringPool.BLANK %>">
+						<%= LanguageUtil.get(pageContext, names[i]) %>
+					</a>
+				</li>
+			</c:otherwise>
+		</c:choose>
+
+	<%
+	}
+	%>
+
+	<c:if test="<%= Validator.isNotNull(backURL) %>">
+		<c:choose>
+			<c:when test="<%= themeDisplay.isFacebook() %>">
+				<fb:tab_item
+					align="left"
+					href="<%= backURL %>"
+					selected="<%= false %>"
+					title='<%= Validator.isNotNull(backLabel) ? HtmlUtil.escapeAttribute(backLabel) : "&laquo;" + LanguageUtil.get(pageContext, "back") %>'
+				/>
+			</c:when>
+			<c:otherwise>
+				<li>
+					<a class="tab" href="<%= backURL %>" id="<%= namespace %><%= param %>TabsBack"><%= Validator.isNotNull(backLabel) ? HtmlUtil.escape(backLabel) : "&laquo;" + LanguageUtil.get(pageContext, "back") %></a>
+				</li>
+			</c:otherwise>
+		</c:choose>
+	</c:if>
+
+	<c:choose>
+		<c:when test="<%= themeDisplay.isFacebook() %>">
+			</fb:tabs>
+		</c:when>
+		<c:otherwise>
+			</ul>
+		</c:otherwise>
+	</c:choose>
+
+	<%
+	if ((portletURL != null) && (param != null) && (oldPortletURLValue != null)) {
+		portletURL.setParameter(param, oldPortletURLValue);
+	}
+	%>
+
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/toggle/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/toggle/page.jsp
new file mode 100644
index 0000000..0c11b9d
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/toggle/page.jsp
@@ -0,0 +1,114 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String id = (String)request.getAttribute("liferay-ui:toggle:id");
+String showImage = (String)request.getAttribute("liferay-ui:toggle:showImage");
+String hideImage = (String)request.getAttribute("liferay-ui:toggle:hideImage");
+String showMessage = (String)request.getAttribute("liferay-ui:toggle:showMessage");
+String hideMessage = (String)request.getAttribute("liferay-ui:toggle:hideMessage");
+String stateVar = (String)request.getAttribute("liferay-ui:toggle:stateVar");
+String defaultStateValue = (String)request.getAttribute("liferay-ui:toggle:defaultStateValue");
+String defaultImage = (String)request.getAttribute("liferay-ui:toggle:defaultImage");
+String defaultMessage = (String)request.getAttribute("liferay-ui:toggle:defaultMessage");
+%>
+
+<c:choose>
+	<c:when test="<%= Validator.isNotNull(showMessage) %>">
+		<a href="javascript:<%= stateVar %>Toggle();" id="<%= id %>_message"><%= defaultMessage %></a>
+	</c:when>
+	<c:otherwise>
+		<img
+			alt="<liferay-ui:message key="toggle" />"
+			id="<%= id %>_image"
+			onclick="<%= stateVar %>Toggle();"
+			src="<%= defaultImage %>"
+			style="margin: 0px;"
+		/>
+	</c:otherwise>
+</c:choose>
+
+<aui:script>
+	var <%= stateVar %> = "<%= defaultStateValue %>";
+
+	Liferay.provide(
+		window,
+		'<%= stateVar %>Toggle',
+		function(state, saveState) {
+			var A = AUI();
+
+			if (state == null) {
+				state = <%= stateVar %>;
+			}
+
+			if (state == "") {
+				<%= stateVar %> = "none";
+
+				document.getElementById("<%= id %>").style.display = "none";
+
+				<c:choose>
+					<c:when test="<%= Validator.isNotNull(showMessage) %>">
+						document.getElementById("<%= id %>_message").innerHTML = "<%= showMessage %>";
+					</c:when>
+					<c:otherwise>
+						document.getElementById("<%= id %>_image").src = "<%= showImage %>";
+					</c:otherwise>
+				</c:choose>
+
+				if ((saveState == null) || saveState) {
+					Liferay.Store('<%= id %>', 'none');
+				}
+
+				Liferay.fire(
+					'toggle:stateChange',
+					{
+						id: '<%= id %>',
+						state: 0
+					}
+				);
+			}
+			else {
+				<%= stateVar %> = "";
+
+				document.getElementById("<%= id %>").style.display = "";
+
+				<c:choose>
+					<c:when test="<%= Validator.isNotNull(showMessage) %>">
+						document.getElementById("<%= id %>_message").innerHTML = "<%= hideMessage %>";
+					</c:when>
+					<c:otherwise>
+						document.getElementById("<%= id %>_image").src = "<%= hideImage %>";
+					</c:otherwise>
+				</c:choose>
+
+				if ((saveState == null) || saveState) {
+					Liferay.Store('<%= id %>', 'block');
+				}
+
+				Liferay.fire(
+					'toggle:stateChange',
+					{
+						id: '<%= id %>',
+						state: 1
+					}
+				);
+			}
+		},
+		['liferay-store']
+	);
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/toggle_area/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/toggle_area/init.jsp
new file mode 100644
index 0000000..cd3c9ad
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/toggle_area/init.jsp
@@ -0,0 +1,28 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String id = (String)request.getAttribute("liferay-ui:toggle-area:id");
+String showImage = (String)request.getAttribute("liferay-ui:toggle-area:showImage");
+String hideImage = (String)request.getAttribute("liferay-ui:toggle-area:hideImage");
+String showMessage = (String)request.getAttribute("liferay-ui:toggle-area:showMessage");
+String hideMessage = (String)request.getAttribute("liferay-ui:toggle-area:hideMessage");
+boolean defaultShowContent = GetterUtil.getBoolean((String)request.getAttribute("liferay-ui:toggle-area:defaultShowContent"));
+String stateVar = (String)request.getAttribute("liferay-ui:toggle-area:stateVar");
+String align = (String)request.getAttribute("liferay-ui:toggle-area:align");
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/toggle_area/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/toggle_area/start.jsp
new file mode 100644
index 0000000..be55c32
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/toggle_area/start.jsp
@@ -0,0 +1,47 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/toggle_area/init.jsp" %>
+
+<div style="float: <%= align %>">
+	<liferay-ui:toggle
+		defaultShowContent="<%= defaultShowContent %>"
+		hideImage="<%= hideImage %>"
+		hideMessage="<%= hideMessage %>"
+		id="<%= id %>"
+		showImage="<%= showImage %>"
+		showMessage="<%= showMessage %>"
+		stateVar="<%= stateVar %>"
+	/>
+</div>
+
+<%
+String clickValue = SessionClicks.get(request, id, null);
+
+if (clickValue == null) {
+	if (defaultShowContent) {
+		clickValue = "block";
+	}
+	else {
+		clickValue = "none";
+	}
+}
+else if (clickValue.equals(StringPool.BLANK)) {
+	clickValue = "block";
+}
+%>
+
+<div id="<%= id %>" style="display: <%= clickValue %>;">
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/trash_empty/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/trash_empty/page.jsp
new file mode 100644
index 0000000..f78a3e8
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/trash_empty/page.jsp
@@ -0,0 +1,60 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String confirmMessage = (String)request.getAttribute("liferay-ui:trash-empty:confirmMessage");
+String emptyMessage = (String)request.getAttribute("liferay-ui:trash-empty:emptyMessage");
+String infoMessage = (String)request.getAttribute("liferay-ui:trash-empty:infoMessage");
+String portletURL = (String)request.getAttribute("liferay-ui:trash-empty:portletURL");
+int totalEntries = GetterUtil.getInteger(request.getAttribute("liferay-ui:trash-empty:totalEntries"));
+%>
+
+<c:if test="<%= totalEntries > 0 %>">
+	<div class="alert alert-info taglib-trash-empty">
+		<aui:form action="<%= portletURL %>" name="emptyForm">
+
+			<%
+			String trashEntriesMaxAgeTimeDescription = LanguageUtil.getTimeDescription(locale, TrashUtil.getMaxAge(themeDisplay.getScopeGroup()) * Time.MINUTE, true);
+			%>
+
+			<liferay-ui:message arguments="<%= StringUtil.toLowerCase(trashEntriesMaxAgeTimeDescription) %>" key="<%= infoMessage %>" />
+
+			<a class="trash-empty-link" href="javascript:;" id="<%= namespace %>empty"><liferay-ui:message key="<%= emptyMessage %>" /></a>
+
+			<aui:input name="<%= Constants.CMD %>" type="hidden" value="<%= Constants.EMPTY_TRASH %>" />
+			<aui:input name="redirect" type="hidden" value="<%= currentURL %>" />
+
+			<aui:button cssClass="trash-empty-button" type="submit" value="<%= emptyMessage %>" />
+		</aui:form>
+	</div>
+</c:if>
+
+<aui:script use="aui-base">
+	var emptyLink = A.one('#<%= namespace %>empty');
+
+	if (emptyLink) {
+		emptyLink.on(
+			'click',
+			function(event) {
+				if (confirm('<%= UnicodeLanguageUtil.get(pageContext, confirmMessage) %>')) {
+					submitForm(document.<portlet:namespace />emptyForm);
+				}
+			}
+		);
+	}
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/trash_undo/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/trash_undo/page.jsp
new file mode 100644
index 0000000..9846d63
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/trash_undo/page.jsp
@@ -0,0 +1,183 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String portletURL = (String)request.getAttribute("liferay-ui:trash-undo:portletURL");
+String redirect = GetterUtil.getString((String)request.getAttribute("liferay-ui:trash-undo:redirect"), currentURL);
+
+if (SessionMessages.contains(portletRequest, portletDisplay.getId() + SessionMessages.KEY_SUFFIX_DELETE_SUCCESS_DATA)) {
+	Map<String, String[]> data = (HashMap<String, String[]>)SessionMessages.get(portletRequest, portletDisplay.getId() + SessionMessages.KEY_SUFFIX_DELETE_SUCCESS_DATA);
+
+	if (data != null) {
+		int trashedEntriesCount = 0;
+
+		String[] primaryKeys = new String[0];
+
+		Set<String> keys = data.keySet();
+
+		for (String key : keys) {
+			if (!key.endsWith("Ids")) {
+				continue;
+			}
+
+			primaryKeys = ArrayUtil.append(primaryKeys, data.get(key));
+
+			trashedEntriesCount = primaryKeys.length;
+		}
+%>
+
+		<div class="alert alert-success taglib-trash-undo">
+			<aui:form action="<%= portletURL %>" name="undoForm">
+				<liferay-util:buffer var="trashLink">
+					<c:choose>
+						<c:when test="<%= themeDisplay.isShowSiteAdministrationIcon() %>">
+							<liferay-portlet:renderURL plid="<%= PortalUtil.getControlPanelPlid(company.getCompanyId()) %>" portletName="<%= PortletKeys.TRASH %>" varImpl="trashURL" windowState="<%= WindowState.NORMAL.toString() %>">
+								<portlet:param name="struts_action" value="/trash/view" />
+							</liferay-portlet:renderURL>
+
+							<%
+							String trashURLString = HttpUtil.setParameter(trashURL.toString(), "doAsGroupId", String.valueOf(themeDisplay.getScopeGroupId()));
+
+							if (!layout.isTypeControlPanel() || Validator.isNull(themeDisplay.getControlPanelCategory())) {
+								trashURLString = HttpUtil.setParameter(trashURLString, "controlPanelCategory", "current_site");
+							}
+							%>
+
+							<aui:a href="<%= trashURLString %>" label="the-recycle-bin" />
+						</c:when>
+						<c:otherwise>
+							<liferay-ui:message key="the-recycle-bin" />
+						</c:otherwise>
+					</c:choose>
+				</liferay-util:buffer>
+
+				<%
+				String cmd = MapUtil.getString(data, Constants.CMD);
+				%>
+
+				<c:choose>
+					<c:when test="<%= trashedEntriesCount > 1 %>">
+						<c:choose>
+							<c:when test="<%= Validator.equals(cmd, Constants.REMOVE) %>">
+								<liferay-ui:message arguments="<%= new Object[] {trashedEntriesCount} %>" key="x-items-were-removed" />
+							</c:when>
+							<c:otherwise>
+								<liferay-ui:message arguments="<%= new Object[] {trashedEntriesCount, trashLink.trim()} %>" key="x-items-were-moved-to-x" />
+							</c:otherwise>
+						</c:choose>
+					</c:when>
+					<c:otherwise>
+
+						<%
+						String[] classNames = data.get("deleteEntryClassName");
+
+						String className = null;
+
+						String type = "selected-item";
+
+						if (ArrayUtil.isNotEmpty(classNames)) {
+							className = classNames[0];
+
+							type = ResourceActionsUtil.getModelResource(pageContext, className);
+						}
+
+						String[] titles = data.get("deleteEntryTitle");
+
+						String title = StringPool.BLANK;
+
+						if (ArrayUtil.isNotEmpty(titles)) {
+							title = titles[0];
+						}
+						%>
+
+						<liferay-util:buffer var="trashEntityLink">
+							<c:choose>
+								<c:when test="<%= !Validator.equals(cmd, Constants.REMOVE) && themeDisplay.isShowSiteAdministrationIcon() && Validator.isNotNull(className) && Validator.isNotNull(title) && Validator.isNotNull(primaryKeys[0]) %>">
+									<liferay-portlet:renderURL plid="<%= PortalUtil.getControlPanelPlid(company.getCompanyId()) %>" portletName="<%= PortletKeys.TRASH %>" varImpl="trashURL" windowState="<%= WindowState.NORMAL.toString() %>">
+										<portlet:param name="struts_action" value="/trash/view_content" />
+										<portlet:param name="className" value="<%= className %>" />
+										<portlet:param name="classPK" value="<%= String.valueOf(primaryKeys[0]) %>" />
+									</liferay-portlet:renderURL>
+
+									<%
+									String trashURLString = HttpUtil.setParameter(trashURL.toString(), "doAsGroupId", String.valueOf(themeDisplay.getScopeGroupId()));
+
+									if (Validator.isNull(themeDisplay.getControlPanelCategory())) {
+										trashURLString = HttpUtil.setParameter(trashURLString, "controlPanelCategory", "current_site");
+									}
+									%>
+
+									<em class="delete-entry-title"><aui:a href="<%= trashURLString %>" label="<%= HtmlUtil.escape(title) %>" /></em>
+								</c:when>
+								<c:when test="<%= Validator.isNotNull(title) %>">
+									<em class="delete-entry-title"><%= HtmlUtil.escape(title) %></em>
+								</c:when>
+							</c:choose>
+						</liferay-util:buffer>
+
+						<c:choose>
+							<c:when test="<%= Validator.equals(cmd, Constants.REMOVE) %>">
+								<liferay-ui:message arguments="<%= new Object[] {type, trashEntityLink} %>" key="the-x-x-was-removed" />
+							</c:when>
+							<c:otherwise>
+								<liferay-ui:message arguments="<%= new Object[] {type, trashEntityLink, trashLink.trim()} %>" key="the-x-x-was-moved-to-x" />
+							</c:otherwise>
+						</c:choose>
+					</c:otherwise>
+				</c:choose>
+
+				<a class="btn btn-primary btn-small trash-undo-link" href="javascript:;" id="<%= namespace %>undo"><liferay-ui:message key="undo" /></a>
+
+				<aui:input name="redirect" type="hidden" value="<%= redirect %>" />
+
+				<%
+				for (String key : keys) {
+					if (!key.endsWith("Ids")) {
+						continue;
+					}
+
+					primaryKeys = data.get(key);
+				%>
+
+					<aui:input name="<%= key %>" type="hidden" value="<%= StringUtil.merge(primaryKeys) %>" />
+
+				<%
+				}
+				%>
+
+				<aui:button cssClass="trash-undo-button" type="submit" value="undo" />
+			</aui:form>
+		</div>
+
+		<aui:script use="aui-base">
+			var undoLink = A.one('#<%= namespace %>undo');
+
+			if (undoLink) {
+				undoLink.on(
+					'click',
+					function(event) {
+						submitForm(document.<%= namespace %>undoForm);
+					}
+				);
+			}
+		</aui:script>
+
+<%
+	}
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_display/end.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_display/end.jsp
new file mode 100644
index 0000000..4d4dd39
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_display/end.jsp
@@ -0,0 +1,20 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/user_display/init.jsp" %>
+
+	</div>
+</div>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_display/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_display/init.jsp
new file mode 100644
index 0000000..878f72c
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_display/init.jsp
@@ -0,0 +1,24 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String userName = GetterUtil.getString((String)request.getAttribute("liferay-ui:user-display:user-name"));
+User userDisplay = (User)request.getAttribute("liferay-ui:user-display:user");
+String url = (String)request.getAttribute("liferay-ui:user-display:url");
+int displayStyle = GetterUtil.getInteger((String)request.getAttribute("liferay-ui:user-display:displayStyle"));
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_display/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_display/start.jsp
new file mode 100644
index 0000000..5acb5ad
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_display/start.jsp
@@ -0,0 +1,50 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/ui/user_display/init.jsp" %>
+
+<%
+if (Validator.isNull(url) && (userDisplay != null)) {
+	url = userDisplay.getDisplayURL(themeDisplay);
+}
+%>
+
+<div class="taglib-user-display display-style-<%= displayStyle %>">
+
+	<%
+	String taglibAlt = (userDisplay != null) ? HtmlUtil.escapeAttribute(userDisplay.getFullName()) : LanguageUtil.get(pageContext, "generic-portrait");
+
+	String taglibSrc = null;
+
+	if (userDisplay != null) {
+		taglibSrc = userDisplay.getPortraitURL(themeDisplay);
+	}
+	else {
+		taglibSrc = UserConstants.getPortraitURL(themeDisplay.getPathImage(), true, 0);
+	}
+	%>
+
+	<aui:a href="<%= url %>">
+		<span class="user-profile-image">
+			<img alt="<%= taglibAlt %>" class="avatar" src="<%= HtmlUtil.escape(taglibSrc) %>" width="65" />
+		</span>
+
+		<span class="user-name">
+			<%= (userDisplay != null) ? HtmlUtil.escape(userDisplay.getFullName()) : HtmlUtil.escape(userName) %>
+		</span>
+	</aui:a>
+
+	<div class="user-details">
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_search/start.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_search/start.jsp
new file mode 100644
index 0000000..4390afa
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/user_search/start.jsp
@@ -0,0 +1,52 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<portlet:defineObjects />
+
+<%
+PortletURL portletURL = (PortletURL)request.getAttribute("liferay-ui:user-search:portletURL");
+RowChecker rowChecker = (RowChecker)request.getAttribute("liferay-ui:user-search:rowChecker");
+LinkedHashMap<String, Object> userParams = (LinkedHashMap<String, Object>)request.getAttribute("liferay-ui:user-search:userParams");
+
+UserSearch searchContainer = new UserSearch(renderRequest, portletURL);
+
+request.setAttribute(WebKeys.SEARCH_CONTAINER, searchContainer);
+
+searchContainer.setRowChecker(rowChecker);
+%>
+
+<liferay-ui:search-form
+	page="/html/portlet/users_admin/user_search.jsp"
+	searchContainer="<%= searchContainer %>"
+/>
+
+<%
+SearchContainer userSearchContainer = searchContainer;
+
+UserSearchTerms searchTerms = (UserSearchTerms)searchContainer.getSearchTerms();
+
+List<User> results = null;
+int total = 0;
+%>
+
+<%@ include file="/html/portlet/users_admin/user_search_results.jspf" %>
+
+<%
+searchContainer.setResults(results);
+searchContainer.setTotal(total);
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/webdav/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/webdav/page.jsp
new file mode 100644
index 0000000..74338dc
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/webdav/page.jsp
@@ -0,0 +1,57 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+String randomNamespace = PortalUtil.generateRandomKey(request, "taglib_ui_webdav_page") + StringPool.UNDERLINE;
+
+String path = (String)request.getAttribute("liferay-ui:webdav:path");
+%>
+
+<div class="taglib-webdav" id="<%= randomNamespace %>webdav">
+	<a class="show-webdav" href="javascript:;"><liferay-ui:message key="access-from-desktop" /></a>
+
+	<table class="lfr-table">
+		<tr>
+			<td class="lfr-label">
+				<liferay-ui:message key="webdav-url" />
+			</td>
+			<td>
+				<liferay-ui:input-resource
+					url='<%= themeDisplay.getPortalURL() + themeDisplay.getPathContext() + "/webdav" + themeDisplay.getScopeGroup().getFriendlyURL() + path %>'
+				/>
+			</td>
+		</tr>
+	</table>
+</div>
+
+<aui:script use="aui-base">
+	var webdavDiv = A.one('#<%= randomNamespace %>webdav');
+
+	if (webdavDiv) {
+		var webdavLink = webdavDiv.all('.show-webdav');
+
+		if (webdavLink) {
+			webdavLink.on(
+				'click',
+				function(event) {
+					webdavDiv.toggleClass('visible');
+				}
+			);
+		}
+	}
+</aui:script>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/write/page.jsp b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/write/page.jsp
new file mode 100644
index 0000000..04319d2
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/taglib/ui/write/page.jsp
@@ -0,0 +1,103 @@
+<%--
+/**
+ * Copyright (c) 2000-2013 Liferay, Inc. All rights reserved.
+ *
+ * This library is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU Lesser General Public License as published by the Free
+ * Software Foundation; either version 2.1 of the License, or (at your option)
+ * any later version.
+ *
+ * This library is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more
+ * details.
+ */
+--%>
+
+<%@ include file="/html/taglib/init.jsp" %>
+
+<%
+Object bean = request.getAttribute("liferay-ui:write:bean");
+String property = (String)request.getAttribute("liferay-ui:write:property");
+%>
+
+<c:choose>
+	<c:when test="<%= bean instanceof Organization %>">
+
+		<%
+		Organization organization = (Organization)bean;
+		%>
+
+		<c:choose>
+			<c:when test='<%= property.equals("country") %>'>
+
+				<%
+				Address address = organization.getAddress();
+
+				Country country = address.getCountry();
+
+				String countryName = country.getName(locale);
+
+				if (Validator.isNull(countryName)) {
+					try {
+						country = CountryServiceUtil.getCountry(organization.getCountryId());
+
+						countryName = country.getName(locale);
+					}
+					catch (Exception e) {
+					}
+				}
+				%>
+
+				<%= countryName %>
+			</c:when>
+			<c:when test='<%= property.equals("region") %>'>
+
+				<%
+				Address address = organization.getAddress();
+
+				Region region = address.getRegion();
+
+				String regionName = region.getName();
+
+				if (Validator.isNull(regionName)) {
+					try {
+						region = RegionServiceUtil.getRegion(organization.getRegionId());
+
+						regionName = LanguageUtil.get(pageContext, region.getName());
+					}
+					catch (Exception e) {
+					}
+				}
+				%>
+
+				<%= regionName %>
+			</c:when>
+		</c:choose>
+	</c:when>
+	<c:when test="<%= bean instanceof User %>">
+
+		<%
+		User user2 = (User)bean;
+		%>
+
+		<c:choose>
+			<c:when test='<%= property.equals("organizations") %>'>
+
+				<%
+				List<Organization> organizations = user2.getOrganizations();
+				%>
+
+				<%= HtmlUtil.escape(ListUtil.toString(organizations, Organization.NAME_ACCESSOR, StringPool.COMMA_AND_SPACE)) %>
+			</c:when>
+			<c:when test='<%= property.equals("user-groups") %>'>
+
+				<%
+				List<UserGroup> userGroups = user2.getUserGroups();
+				%>
+
+				<%= HtmlUtil.escape(ListUtil.toString(userGroups, UserGroup.NAME_ACCESSOR, StringPool.COMMA_AND_SPACE)) %>
+			</c:when>
+		</c:choose>
+	</c:when>
+</c:choose>
\ No newline at end of file