增加初始版本
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/edit_layout_prototype.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/edit_layout_prototype.jsp
new file mode 100644
index 0000000..5f75792
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/edit_layout_prototype.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/portlet/layout_prototypes/init.jsp" %>
+
+<%
+String redirect = ParamUtil.getString(request, "redirect");
+String backURL = ParamUtil.getString(request, "backURL", redirect);
+
+LayoutPrototype layoutPrototype = (LayoutPrototype)request.getAttribute(WebKeys.LAYOUT_PROTOTYPE);
+
+if (layoutPrototype == null) {
+	layoutPrototype = new LayoutPrototypeImpl();
+
+	layoutPrototype.setNew(true);
+	layoutPrototype.setActive(true);
+}
+
+long layoutPrototypeId = BeanParamUtil.getLong(layoutPrototype, request, "layoutPrototypeId");
+%>
+
+<liferay-util:include page="/html/portlet/layout_prototypes/toolbar.jsp">
+	<liferay-util:param name="toolbarItem" value='<%= layoutPrototype.isNew() ? "add" : StringPool.BLANK %>' />
+</liferay-util:include>
+
+<liferay-ui:header
+	backURL="<%= backURL %>"
+	localizeTitle="<%= layoutPrototype.isNew() %>"
+	title='<%= layoutPrototype.isNew() ? "new-page-template" : layoutPrototype.getName(locale) %>'
+/>
+
+<%
+request.setAttribute("edit_layout_prototype.jsp-layoutPrototype", layoutPrototype);
+request.setAttribute("edit_layout_prototype.jsp-redirect", redirect);
+%>
+
+<liferay-util:include page="/html/portlet/layout_prototypes/merge_alert.jsp" />
+
+<aui:form method="post" name="fm" onSubmit='<%= "event.preventDefault(); " + renderResponse.getNamespace() + "saveLayoutPrototype();" %>'>
+	<aui:input name="<%= Constants.CMD %>" type="hidden" />
+	<aui:input name="redirect" type="hidden" value="<%= redirect %>" />
+	<aui:input name="layoutPrototypeId" type="hidden" value="<%= layoutPrototypeId %>" />
+
+	<aui:model-context bean="<%= layoutPrototype %>" model="<%= LayoutPrototype.class %>" />
+
+	<aui:fieldset>
+		<aui:input autoFocus="<%= windowState.equals(WindowState.MAXIMIZED) %>" name="name" />
+
+		<aui:input name="description" />
+
+		<aui:input name="active" />
+
+		<c:if test="<%= !layoutPrototype.isNew() %>">
+			<aui:field-wrapper label="configuration">
+				<liferay-portlet:actionURL portletName="<%= PortletKeys.SITE_REDIRECTOR %>" var="viewURL">
+					<portlet:param name="struts_action" value="/my_sites/view" />
+					<portlet:param name="groupId" value="<%= String.valueOf(layoutPrototype.getGroupId()) %>" />
+					<portlet:param name="privateLayout" value="<%= Boolean.TRUE.toString() %>" />
+				</liferay-portlet:actionURL>
+
+				<liferay-ui:icon
+					image="view"
+					label="<%= true %>"
+					message="open-page-template"
+					method="get"
+					target="_blank"
+					url="<%= viewURL %>"
+				/>
+			</aui:field-wrapper>
+		</c:if>
+	</aui:fieldset>
+
+	<aui:button-row>
+		<aui:button type="submit" />
+
+		<aui:button href="<%= redirect %>" type="cancel" />
+	</aui:button-row>
+</aui:form>
+
+<aui:script>
+	function <portlet:namespace />saveLayoutPrototype() {
+		document.<portlet:namespace />fm.<portlet:namespace /><%= Constants.CMD %>.value = "<%= (layoutPrototype == null) ? Constants.ADD : Constants.UPDATE %>";
+
+		submitForm(document.<portlet:namespace />fm, "<portlet:actionURL><portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" /></portlet:actionURL>");
+	}
+</aui:script>
+
+<%
+if (!layoutPrototype.isNew()) {
+	PortalUtil.addPortletBreadcrumbEntry(request, layoutPrototype.getName(locale), currentURL);
+	PortalUtil.addPortletBreadcrumbEntry(request, LanguageUtil.get(pageContext, "edit"), currentURL);
+}
+else {
+	PortalUtil.addPortletBreadcrumbEntry(request, LanguageUtil.get(pageContext, "add-page"), currentURL);
+}
+%>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/error.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/error.jsp
new file mode 100644
index 0000000..edfe915
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/error.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/portlet/layout_prototypes/init.jsp" %>
+
+<liferay-ui:header
+	backURL="javascript:history.go(-1);"
+	title="error"
+/>
+
+<liferay-ui:error exception="<%= NoSuchLayoutPrototypeException.class %>" message="the-page-template-could-not-be-found" />
+<liferay-ui:error exception="<%= PrincipalException.class %>" message="you-do-not-have-the-required-permissions" />
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/init-ext.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/init-ext.jsp
new file mode 100644
index 0000000..8aa75ad
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/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/portlet/layout_prototypes/init.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/init.jsp
new file mode 100644
index 0000000..4b80a64
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/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/portlet/init.jsp" %>
+
+<%@ page import="com.liferay.portal.NoSuchLayoutPrototypeException" %><%@
+page import="com.liferay.portal.RequiredLayoutPrototypeException" %><%@
+page import="com.liferay.portal.service.LayoutPrototypeLocalServiceUtil" %>
+
+<%@ include file="/html/portlet/layout_prototypes/init-ext.jsp" %>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/layout_prototype_action.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/layout_prototype_action.jsp
new file mode 100644
index 0000000..4761898
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/layout_prototype_action.jsp
@@ -0,0 +1,107 @@
+<%--
+/**
+ * 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/layout_prototypes/init.jsp" %>
+
+<%
+SearchContainer searchContainer = (SearchContainer)request.getAttribute("liferay-ui:search:searchContainer");
+
+String redirect = searchContainer.getIteratorURL().toString();
+
+ResultRow row = (ResultRow)request.getAttribute(WebKeys.SEARCH_CONTAINER_RESULT_ROW);
+
+LayoutPrototype layoutPrototype = (LayoutPrototype)row.getObject();
+%>
+
+<liferay-ui:icon-menu>
+	<c:if test="<%= LayoutPrototypePermissionUtil.contains(permissionChecker, layoutPrototype.getLayoutPrototypeId(), ActionKeys.UPDATE) %>">
+		<portlet:renderURL var="editURL">
+			<portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" />
+			<portlet:param name="redirect" value="<%= redirect %>" />
+			<portlet:param name="layoutPrototypeId" value="<%= String.valueOf(layoutPrototype.getLayoutPrototypeId()) %>" />
+		</portlet:renderURL>
+
+		<liferay-ui:icon
+			image="edit"
+			url="<%= editURL %>"
+		/>
+	</c:if>
+
+	<c:if test="<%= LayoutPrototypePermissionUtil.contains(permissionChecker, layoutPrototype.getLayoutPrototypeId(), ActionKeys.PERMISSIONS) %>">
+		<liferay-security:permissionsURL
+			modelResource="<%= LayoutPrototype.class.getName() %>"
+			modelResourceDescription="<%= layoutPrototype.getName(locale) %>"
+			resourcePrimKey="<%= String.valueOf(layoutPrototype.getLayoutPrototypeId()) %>"
+			var="permissionsURL"
+			windowState="<%= LiferayWindowState.POP_UP.toString() %>"
+		/>
+
+		<liferay-ui:icon
+			image="permissions"
+			method="get"
+			url="<%= permissionsURL %>"
+			useDialog="<%= true %>"
+		/>
+	</c:if>
+
+	<c:if test="<%= LayoutPrototypePermissionUtil.contains(permissionChecker, layoutPrototype.getLayoutPrototypeId(), ActionKeys.DELETE) %>">
+		<portlet:actionURL var="deleteURL">
+			<portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" />
+			<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.DELETE %>" />
+			<portlet:param name="redirect" value="<%= redirect %>" />
+			<portlet:param name="layoutPrototypeIds" value="<%= String.valueOf(layoutPrototype.getLayoutPrototypeId()) %>" />
+		</portlet:actionURL>
+
+		<liferay-ui:icon-delete
+			url="<%= deleteURL %>"
+		/>
+	</c:if>
+
+	<c:if test="<%= GroupPermissionUtil.contains(permissionChecker, layoutPrototype.getGroup(), ActionKeys.EXPORT_IMPORT_LAYOUTS) %>">
+		<portlet:renderURL var="exportURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
+			<portlet:param name="struts_action" value="/layout_prototypes/export_layouts" />
+			<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.EXPORT %>" />
+			<portlet:param name="groupId" value="<%= String.valueOf(layoutPrototype.getGroupId()) %>" />
+			<portlet:param name="privateLayout" value="<%= Boolean.TRUE.toString() %>" />
+			<portlet:param name="rootNodeName" value="<%= layoutPrototype.getName(locale) %>" />
+		</portlet:renderURL>
+
+		<liferay-ui:icon
+			cssClass="export-layout-prototype layout-prototype-action"
+			image="export"
+			method="get"
+			url="<%= exportURL %>"
+		/>
+	</c:if>
+
+	<c:if test="<%= GroupPermissionUtil.contains(permissionChecker, layoutPrototype.getGroup(), ActionKeys.EXPORT_IMPORT_LAYOUTS) %>">
+		<portlet:renderURL var="importURL" windowState="<%= LiferayWindowState.POP_UP.toString() %>">
+			<portlet:param name="struts_action" value="/layout_prototypes/import_layouts" />
+			<portlet:param name="<%= Constants.CMD %>" value="<%= Constants.IMPORT %>" />
+			<portlet:param name="groupId" value="<%= String.valueOf(layoutPrototype.getGroupId()) %>" />
+			<portlet:param name="privateLayout" value="<%= Boolean.TRUE.toString() %>" />
+			<portlet:param name="rootNodeName" value="<%= layoutPrototype.getName(locale) %>" />
+		</portlet:renderURL>
+
+		<liferay-ui:icon
+			cssClass="import-layout-prototype layout-prototype-action"
+			image="add"
+			message="import"
+			method="get"
+			url="<%= importURL %>"
+		/>
+	</c:if>
+</liferay-ui:icon-menu>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/merge_alert.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/merge_alert.jsp
new file mode 100644
index 0000000..a0a514c
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/merge_alert.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/portlet/layout_prototypes/init.jsp" %>
+
+<%
+LayoutPrototype layoutPrototype = (LayoutPrototype)request.getAttribute("edit_layout_prototype.jsp-layoutPrototype");
+String redirect = (String)request.getAttribute("edit_layout_prototype.jsp-redirect");
+long selPlid = GetterUtil.getLong((String)request.getAttribute("edit_layout_prototype.jsp-selPlid"));
+
+int mergeFailCount = SitesUtil.getMergeFailCount(layoutPrototype);
+%>
+
+<c:if test="<%= mergeFailCount > PropsValues.LAYOUT_PROTOTYPE_MERGE_FAIL_THRESHOLD %>">
+
+	<%
+	boolean merge = false;
+
+	String randomNamespace = PortalUtil.generateRandomKey(request, "portlet_layout_prototypes_merge_alert") + StringPool.UNDERLINE;
+
+	PortletURL portletURL = liferayPortletResponse.createActionURL();
+
+	portletURL.setParameter("redirect", redirect);
+	portletURL.setParameter("layoutPrototypeId",String.valueOf(layoutPrototype.getLayoutPrototypeId()));
+
+	if (selPlid > 0) {
+		portletURL.setParameter("struts_action", "/layouts_admin/edit_layouts");
+		portletURL.setParameter(Constants.CMD, "reset_merge_fail_count_and_merge");
+		portletURL.setParameter("selPlid", String.valueOf(selPlid));
+
+		merge = true;
+	}
+	else {
+		portletURL.setParameter("struts_action", "/layout_prototypes/edit_layout_prototype");
+		portletURL.setParameter(Constants.CMD, "reset_merge_fail_count");
+	}
+	%>
+
+	<span class="alert alert-block">
+		<liferay-ui:message arguments='<%= new Object[] {mergeFailCount, "page-template"} %>' key="the-propagation-of-changes-from-the-x-has-been-disabled-temporarily-after-x-errors" />
+
+		<liferay-ui:message arguments="page-template" key='<%= merge ? "click-reset-and-propagate-to-reset-the-failure-count-and-propagate-changes-from-the-x" : "click-reset-to-reset-the-failure-count-and-reenable-propagation" %>' />
+
+		<aui:button id='<%= randomNamespace + "resetButton" %>' value='<%= merge ? "reset-and-propagate" : "reset" %>' />
+	</span>
+
+	<aui:script use="aui-base">
+		var resetButton= A.one('#<%= randomNamespace %>resetButton');
+
+		resetButton.on(
+			'click',
+			function(event) {
+				submitForm(document.hrefFm, '<%= portletURL.toString() %>');
+			}
+		);
+	</aui:script>
+</c:if>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/toolbar.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/toolbar.jsp
new file mode 100644
index 0000000..af2dd7d
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/toolbar.jsp
@@ -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.
+ */
+--%>
+
+<%@ include file="/html/portlet/layout_prototypes/init.jsp" %>
+
+<%
+String toolbarItem = ParamUtil.getString(request, "toolbarItem");
+%>
+
+<aui:nav-bar>
+	<aui:nav>
+		<portlet:renderURL var="viewLayoutPrototypesURL">
+			<portlet:param name="struts_action" value="/layout_prototypes/view" />
+		</portlet:renderURL>
+
+		<c:if test="<%= PortalPermissionUtil.contains(permissionChecker, ActionKeys.ADD_LAYOUT_PROTOTYPE) %>">
+			<portlet:renderURL var="addLayoutPrototypeURL">
+				<portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" />
+				<portlet:param name="redirect" value="<%= viewLayoutPrototypesURL %>" />
+				<portlet:param name="backURL" value="<%= viewLayoutPrototypesURL %>" />
+			</portlet:renderURL>
+
+			<aui:nav-item href="<%= addLayoutPrototypeURL %>" iconCssClass="icon-plus" label="add" selected='<%= toolbarItem.equals("add") %>' />
+		</c:if>
+	</aui:nav>
+</aui:nav-bar>
\ No newline at end of file
diff --git a/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/view.jsp b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/view.jsp
new file mode 100644
index 0000000..6d75e73
--- /dev/null
+++ b/tomcat-7.0.42/webapps/ROOT/html/portlet/layout_prototypes/view.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/portlet/layout_prototypes/init.jsp" %>
+
+<%
+PortletURL portletURL = renderResponse.createRenderURL();
+
+portletURL.setParameter("struts_action", "/layout_prototypes/view");
+%>
+
+<liferay-ui:error exception="<%= RequiredLayoutPrototypeException.class %>" message="you-cannot-delete-page-templates-that-are-used-by-a-page" />
+
+<liferay-util:include page="/html/portlet/layout_prototypes/toolbar.jsp" />
+
+<aui:form action="<%= portletURL.toString() %>" method="get" name="fm">
+	<liferay-portlet:renderURLParams varImpl="portletURL" />
+	<aui:input name="<%= Constants.CMD %>" type="hidden" />
+	<aui:input name="redirect" type="hidden" value="<%= portletURL.toString() %>" />
+
+	<liferay-ui:search-container
+		emptyResultsMessage="no-page-templates-were-found"
+		headerNames="name"
+		iteratorURL="<%= portletURL %>"
+		total="<%= LayoutPrototypeLocalServiceUtil.searchCount(company.getCompanyId(), null) %>"
+	>
+		<aui:input name="deleteLayoutPrototypesIds" type="hidden" />
+
+		<liferay-ui:search-container-results
+			results="<%= LayoutPrototypeLocalServiceUtil.search(company.getCompanyId(), null, searchContainer.getStart(), searchContainer.getEnd(), null) %>"
+		/>
+
+		<liferay-ui:search-container-row
+			className="com.liferay.portal.model.LayoutPrototype"
+			escapedModel="<%= true %>"
+			keyProperty="layoutPrototypeId"
+			modelVar="layoutPrototype"
+		>
+			<liferay-portlet:renderURL varImpl="rowURL">
+				<portlet:param name="struts_action" value="/layout_prototypes/edit_layout_prototype" />
+				<portlet:param name="redirect" value="<%= searchContainer.getIteratorURL().toString() %>" />
+				<portlet:param name="backURL" value="<%= searchContainer.getIteratorURL().toString() %>" />
+				<portlet:param name="layoutPrototypeId" value="<%= String.valueOf(layoutPrototype.getLayoutPrototypeId()) %>" />
+			</liferay-portlet:renderURL>
+
+			<liferay-ui:search-container-column-text
+				name="name"
+				orderable="<%= true %>"
+			>
+
+				<aui:a href="<%= rowURL.toString() %>"><%= layoutPrototype.getName(locale) %></aui:a>
+
+				<%
+				int mergeFailCount = SitesUtil.getMergeFailCount(layoutPrototype);
+				%>
+
+				<c:if test="<%= mergeFailCount > PropsValues.LAYOUT_PROTOTYPE_MERGE_FAIL_THRESHOLD %>">
+					<liferay-ui:icon
+						image="../messages/alert"
+						message='<%= LanguageUtil.format(pageContext, "the-propagation-of-changes-from-the-x-has-been-disabled-temporarily-after-x-errors", new Object[] {mergeFailCount, "page-template"}) %>'
+					/>
+				</c:if>
+			</liferay-ui:search-container-column-text>
+
+			<liferay-ui:search-container-column-text
+				href="<%= rowURL %>"
+				name="active"
+			>
+				<%= LanguageUtil.get(pageContext, layoutPrototype.isActive()? "yes" : "no") %>
+			</liferay-ui:search-container-column-text>
+
+			<liferay-ui:search-container-column-jsp
+				align="right"
+				path="/html/portlet/layout_prototypes/layout_prototype_action.jsp"
+			/>
+		</liferay-ui:search-container-row>
+
+		<liferay-ui:search-iterator />
+	</liferay-ui:search-container>
+</aui:form>
+
+<aui:script use="aui-base,liferay-util-window">
+	A.getBody().delegate(
+		'click',
+		function(event) {
+			event.preventDefault();
+
+			var link = event.currentTarget;
+			var title = link.get('text');
+
+			Liferay.Util.openWindow(
+				{
+					id: '<portlet:namespace />' + title,
+					title: title,
+					uri: link.attr('href')
+				}
+			);
+		},
+		'.layout-prototype-action a'
+	);
+</aui:script>
\ No newline at end of file