\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/init-ext.jsp b/src/main/webapp/custom_jsps/html/portlet/dockbar/init-ext.jsp
new file mode 100644
index 0000000..8aa75ad
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/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/src/main/webapp/custom_jsps/html/portlet/dockbar/init.jsp b/src/main/webapp/custom_jsps/html/portlet/dockbar/init.jsp
new file mode 100644
index 0000000..363f064
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/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/portlet/init.jsp" %>
+
+<%@ page import="com.liferay.portal.util.PortletCategoryUtil" %><%@
+page import="com.liferay.taglib.aui.AUIUtil" %>
+
+<%@ page import="java.util.regex.Matcher" %><%@
+page import="java.util.regex.Pattern" %>
+
+<%@ include file="/html/portlet/dockbar/init-ext.jsp" %>
\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/preview_panel.jsp b/src/main/webapp/custom_jsps/html/portlet/dockbar/preview_panel.jsp
new file mode 100644
index 0000000..cf6b8d1
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/preview_panel.jsp
@@ -0,0 +1,104 @@
+<%--
+/**
+ * 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/dockbar/init.jsp" %>
+
+
+
+
+
+
+
+
+
+
+ 100%
+
+
+
+
+
+
+ 768px
+
+
+
+
+
+
+ 1024px
+
+
+
+
+
+
+ 1280px
+
+
+
+
+
(px)
+
+ ×
+
+
+
+
+
+
+
+
+
+ var devicePreview = new Liferay.Dockbar.DevicePreview(
+ {
+ devices: {
+ autosize: {
+ skin: 'autosize'
+ },
+ custom: {
+ height: '#height',
+ resizable: true,
+ width: '#width'
+ },
+ desktop: {
+ height: 1050,
+ width: 1300
+ },
+ smartphone: {
+ height: 640,
+ preventTransition: true,
+ rotation: true,
+ selected: true,
+ skin: 'smartphone',
+ width: 400
+ },
+ tablet: {
+ height: 900,
+ preventTransition: true,
+ rotation: true,
+ skin: 'tablet',
+ width: 760
+ }
+ },
+ inputHeight: '#height',
+ inputWidth: '#width',
+ namespace: ''
+ }
+ );
+
+ Liferay.once('dockbarHidePanel', A.bind('destroy', devicePreview));
+
\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/view.jsp b/src/main/webapp/custom_jsps/html/portlet/dockbar/view.jsp
new file mode 100644
index 0000000..0f428b6
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/view.jsp
@@ -0,0 +1,291 @@
+<%--
+/**
+ * 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/dockbar/init.jsp" %>
+
+<%
+Group group = null;
+LayoutSet layoutSet = null;
+
+if (layout != null) {
+ group = layout.getGroup();
+ layoutSet = layout.getLayoutSet();
+}
+
+boolean hasLayoutCustomizePermission = LayoutPermissionUtil.contains(permissionChecker, layout, ActionKeys.CUSTOMIZE);
+boolean hasLayoutUpdatePermission = LayoutPermissionUtil.contains(permissionChecker, layout, ActionKeys.UPDATE);
+
+String toggleControlsState = GetterUtil.getString(SessionClicks.get(request, "liferay_toggle_controls", "visible"));
+%>
+
+
+
+ <%@ include file="/html/portlet/dockbar/custom_dockbar_view.jspf" %>
+
+
+
+
+ <%
+ String controlPanelCategory = themeDisplay.getControlPanelCategory();
+
+ String refererGroupDescriptiveName = null;
+ String backURL = null;
+
+ if (themeDisplay.getRefererPlid() > 0) {
+ Layout refererLayout = LayoutLocalServiceUtil.fetchLayout(themeDisplay.getRefererPlid());
+
+ if (refererLayout != null) {
+ Group refererGroup = refererLayout.getGroup();
+
+ if (refererGroup.isUserGroup() && (themeDisplay.getRefererGroupId() > 0)) {
+ refererGroup = GroupLocalServiceUtil.getGroup(themeDisplay.getRefererGroupId());
+
+ refererLayout = new VirtualLayout(refererLayout, refererGroup);
+ }
+
+ refererGroupDescriptiveName = refererGroup.getDescriptiveName(locale);
+
+ if (refererGroup.isUser() && (refererGroup.getClassPK() == user.getUserId())) {
+ if (refererLayout.isPublicLayout()) {
+ refererGroupDescriptiveName = LanguageUtil.get(pageContext, "my-profile");
+ }
+ else {
+ refererGroupDescriptiveName = LanguageUtil.get(pageContext, "my-dashboard");
+ }
+ }
+
+ backURL = PortalUtil.getLayoutURL(refererLayout, themeDisplay);
+
+ if (!CookieKeys.hasSessionId(request)) {
+ backURL = PortalUtil.getURLWithSessionId(backURL, session.getId());
+ }
+ }
+ }
+
+ if (Validator.isNull(refererGroupDescriptiveName) || Validator.isNull(backURL)) {
+ refererGroupDescriptiveName = themeDisplay.getAccount().getName();
+ backURL = themeDisplay.getURLHome();
+ }
+
+ if (Validator.isNotNull(themeDisplay.getDoAsUserId())) {
+ backURL = HttpUtil.addParameter(backURL, "doAsUserId", themeDisplay.getDoAsUserId());
+ }
+
+ if (Validator.isNotNull(themeDisplay.getDoAsUserLanguageId())) {
+ backURL = HttpUtil.addParameter(backURL, "doAsUserLanguageId", themeDisplay.getDoAsUserLanguageId());
+ }
+ %>
+
+
+
+
+
+
+ Liferay.Dockbar.init('#dockbar');
+
+ var customizableColumns = A.all('.portlet-column-content.customizable');
+
+ if (customizableColumns.size() > 0) {
+ customizableColumns.get('parentNode').addClass('customizable');
+ }
+
+
+<%!
+private boolean _hasPortlets(String category, ThemeDisplay themeDisplay) throws SystemException {
+ List portlets = PortalUtil.getControlPanelPortlets(category, themeDisplay);
+
+ if (portlets.isEmpty()) {
+ return false;
+ }
+
+ return true;
+}
+%>
\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/view_admin_links.jspf b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_admin_links.jspf
new file mode 100644
index 0000000..0101ff1
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_admin_links.jspf
@@ -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.
+ */
+--%>
+
+
+
+
+
+
+ <%
+ Map> categoriesMap = PortalUtil.getSiteAdministrationCategoriesMap(request);
+
+ if (!categoriesMap.isEmpty()) {
+ String currentSiteCategory = PortletCategoryKeys.CURRENT_SITE.concat(StringPool.PERIOD);
+ %>
+
+
+
+
+
+<%
+}
+%>
\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/view_my_sites.jspf b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_my_sites.jspf
new file mode 100644
index 0000000..0710639
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_my_sites.jspf
@@ -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.
+ */
+--%>
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/view_page_customization_bar.jspf b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_page_customization_bar.jspf
new file mode 100644
index 0000000..b8a2bac
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_page_customization_bar.jspf
@@ -0,0 +1,196 @@
+<%--
+/**
+ * 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.
+ */
+--%>
+
+<%
+boolean customizableLayout = !(group.isLayoutPrototype() || group.isLayoutSetPrototype() || group.isStagingGroup() || group.isUserGroup()) && layoutTypePortlet.isCustomizable() && LayoutPermissionUtil.containsWithoutViewableGroup(permissionChecker, layout, false, ActionKeys.CUSTOMIZE);
+boolean linkedLayout = (!SitesUtil.isLayoutUpdateable(layout) || (layout.isLayoutPrototypeLinkActive() && !group.hasStagingGroup())) && LayoutPermissionUtil.containsWithoutViewableGroup(themeDisplay.getPermissionChecker(), layout, false, ActionKeys.UPDATE);
+boolean modifiedLayout = (layoutSet != null) && layoutSet.isLayoutSetPrototypeLinkActive() && SitesUtil.isLayoutModifiedSinceLastMerge(layout) && hasLayoutUpdatePermission;
+%>
+
+
+
+ <%
+ boolean dockbarMessagesHidden = GetterUtil.getBoolean(SessionClicks.get(request, "dockbarMessagesHidden", "false"));
+ %>
+
+
+
+
+
+
+ A.one('.info-link-container').on(
+ 'click',
+ function(event) {
+ event.preventDefault();
+
+ var navAccountControls = event.currentTarget.ancestor('.nav-account-controls');
+
+ var infoItems = navAccountControls.one('.info-items');
+
+ navAccountControls.one('.info-items').toggleClass('hide');
+
+ Liferay.Store('dockbarMessagesHidden', infoItems.hasClass('hide'));
+ }
+ );
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/view_resources.jsp b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_resources.jsp
new file mode 100644
index 0000000..bb4aeaf
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_resources.jsp
@@ -0,0 +1,195 @@
+<%--
+/**
+ * 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/dockbar/init.jsp" %>
+
+<%
+boolean viewEntries = ParamUtil.getBoolean(request, "viewEntries");
+boolean viewPreview = ParamUtil.getBoolean(request, "viewPreview");
+%>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/view_user_account.jspf b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_user_account.jspf
new file mode 100644
index 0000000..e794724
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_user_account.jspf
@@ -0,0 +1,32 @@
+<%--
+/**
+ * Copyright (c) 2000-present 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.
+ */
+--%>
+
+
+
+ <%
+ request.setAttribute(WebKeys.RENDER_PORTLET_BOUNDARY, false);
+ %>
+
+
+
+ <%
+ request.removeAttribute(WebKeys.RENDER_PORTLET_BOUNDARY);
+ %>
+
+
+
+
+<%@ include file="/html/portlet/dockbar/view_user_account.portal.jspf" %>
\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/view_user_account.portal.jspf b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_user_account.portal.jspf
new file mode 100644
index 0000000..5dfaa5d
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_user_account.portal.jspf
@@ -0,0 +1,152 @@
+<%--
+/**
+ * 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.
+ */
+--%>
+
+
+
+
+
+
+ " class="user-avatar-image" src="<%= HtmlUtil.escape(user.getPortraitURL(themeDisplay)) %>" />
+
+
+ <%= HtmlUtil.escape(user.getFullName()) %>
+
+
+
+
+
+
+
+
+ <%
+ String impersonatingUserLabel = "you-are-impersonating-the-guest-user";
+
+ if (themeDisplay.isSignedIn()) {
+ impersonatingUserLabel = LanguageUtil.format(pageContext, "you-are-impersonating-x", new Object[] {HtmlUtil.escape(user.getFullName())});
+ }
+ %>
+
+
+
+
+ <%
+ }
+ %>
+
+ <%
+ String myAccountURL = themeDisplay.getURLMyAccount().toString();
+
+ myAccountURL = HttpUtil.setParameter(myAccountURL, "controlPanelCategory", PortletCategoryKeys.MY);
+ %>
+
+
+
+
+
+
+
+
+
+
+
+ <%
+ Map anchorData = new HashMap();
+
+ anchorData.put("redirect", String.valueOf(PortalUtil.isLoginRedirectRequired(request)));
+ %>
+
+
+
+
\ No newline at end of file
diff --git a/src/main/webapp/custom_jsps/html/portlet/dockbar/view_user_panel.jspf b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_user_panel.jspf
new file mode 100644
index 0000000..9a517b3
--- /dev/null
+++ b/src/main/webapp/custom_jsps/html/portlet/dockbar/view_user_panel.jspf
@@ -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/portlet/dockbar/view_page_customization_bar.jspf" %>
+
+
+
+
+
+
+
+ <%@ include file="/html/portlet/dockbar/view_admin_links.jspf" %>
+
+ <%@ include file="/html/portlet/dockbar/view_my_sites.jspf" %>
+
+
+ <%@ include file="/html/portlet/dockbar/view_user_account.jspf" %>
+
\ No newline at end of file