176 lines
8.8 KiB
XML
176 lines
8.8 KiB
XML
<?xml version="1.0" standalone="yes"?>
|
|
<!DOCTYPE container>
|
|
<container
|
|
xmlns="http://www.w3.org/1999/xhtml"
|
|
xmlns:xml="http://www.w3.org/XML/1998/namespace"
|
|
xmlns:var="http://www.skyrix.com/od/binding"
|
|
xmlns:const="http://www.skyrix.com/od/constant"
|
|
xmlns:rsrc="OGo:url"
|
|
xmlns:label="OGo:label"
|
|
><var:string var:value="doctype" const:escapeHTML="NO" />
|
|
<var:if condition="hideFrame" const:negate="YES"
|
|
><html const:xmlns="http://www.w3.org/1999/xhtml"
|
|
xml:lang="en" const:lang="en">
|
|
<head>
|
|
<title>
|
|
<var:string value="title"/>
|
|
</title>
|
|
<meta name="hideFrame" var:content="hideFrame" />
|
|
<meta name="description" content="SOGo Web Interface" />
|
|
<meta name="author" content="SKYRIX Software AG/Inverse inc." />
|
|
<meta name="robots" content="stop" />
|
|
<meta name="build" var:content="buildDate" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<link href="mailto:support@inverse.ca" rev="made" />
|
|
<link rel="shortcut icon" var:href="siteFavicon" type="image/x-icon" />
|
|
<link type="text/css" rel="stylesheet" rsrc:href="css/icons.css"/>
|
|
<link type="text/css" rel="stylesheet" rsrc:href="css/angular-material.css"/>
|
|
<link type="text/css" rel="stylesheet" rsrc:href="css/themes/grey-theme.css"/>
|
|
<link type="text/css" rel="stylesheet" rsrc:href="css/styles.css"/>
|
|
<var:if condition="hasPageSpecificCSS"
|
|
><link type="text/css" rel="stylesheet" var:href="pageCSSURL"
|
|
/></var:if>
|
|
<var:foreach list="additionalCSSFiles" item="item"
|
|
><link type="text/css" rel="stylesheet" var:href="item"
|
|
/>
|
|
</var:foreach>
|
|
<var:if-ie const:lte="9"
|
|
><link type="text/css" rel="stylesheet" rsrc:href="iefixes.css"/>
|
|
<script type="text/javascript" rsrc:src="XMLHttpRequest.js"><!-- space --></script>
|
|
</var:if-ie>
|
|
</head>
|
|
|
|
<!--FIXME : repport in-line styling in style definitions -->
|
|
<body style="overflow: hidden; padding-bottom:64px;" var:data-ng-app="angularModule" var:class="bodyClasses"
|
|
><var:if condition="isCompatibleBrowser"
|
|
><var:if condition="singleWindowModeEnabled"
|
|
><div id="popupFrame" style="display: none;"><iframe width="100%" height="100%" src="/SOGo/loading"><!-- space --></iframe></div></var:if
|
|
><var:if condition="shortUserNameForDisplay" const:value="anonymous"
|
|
const:negate="YES"><var:if condition="hasUserSettingsKeys"
|
|
><script type="text/javascript">
|
|
var UserSettings = <var:string value="userSettings" const:escapeHTML="NO"/>;
|
|
</script
|
|
></var:if><var:if condition="hasUserDefaultsKeys">
|
|
<script type="text/javascript">
|
|
var UserDefaults = <var:string value="userDefaults" const:escapeHTML="NO"/>;
|
|
</script
|
|
></var:if
|
|
></var:if
|
|
><var:if condition="isPopup" const:negate="YES"
|
|
><var:if condition="isUIxDebugEnabled"
|
|
><!-- space --></var:if>
|
|
</var:if>
|
|
|
|
|
|
<var:component-content/>
|
|
<!--FIXME : make sure the .md-button.md-default-theme[disabled] is "contrast aware" disabled labels are actualy almost invisible -->
|
|
<!--FIXME : repport in-line styling in style definitions -->
|
|
<md-toolbar layout="row" layout-align="center center" style="background-color:#212121; position: fixed; bottom: 0px; left: 0px; width: 100%; z-index: 100">
|
|
<var:if condition="userHasCalendarAccess">
|
|
<var:if condition="isCalendar">
|
|
<md-button ng-disabled="true"><var:string label:value="Calendar" /></md-button>
|
|
</var:if>
|
|
<var:if condition="isCalendar" const:negate="YES">
|
|
<md-button var:href="relativeCalendarPath"><var:string label:value="Calendar" /></md-button>
|
|
</var:if>
|
|
</var:if>
|
|
<var:if condition="isContacts">
|
|
<md-button ng-disabled="true"><var:string label:value="Address Book"/></md-button>
|
|
</var:if>
|
|
<var:if condition="isContacts" const:negate="YES">
|
|
<md-button var:href="relativeContactsPath"><var:string label:value="Address Book" /></md-button>
|
|
</var:if>
|
|
<var:if condition="userHasMailAccess">
|
|
<var:if condition="isMail">
|
|
<md-button ng-disabled="true"><var:string label:value="Mail"/></md-button>
|
|
</var:if>
|
|
<var:if condition="isMail" const:negate="YES">
|
|
<md-button var:href="relativeMailPath"><var:string label:value="Mail" /></md-button>
|
|
</var:if>
|
|
</var:if>
|
|
<md-button var:data-ng-href="relativePreferencesPath"><var:string label:value="Preferences" /></md-button>
|
|
<var:if condition="isSuperUser">
|
|
<var:if condition="isAdministration">
|
|
<md-button ng-disabled="true"><var:string label:value="Administration"/></md-button>
|
|
</var:if>
|
|
<var:if condition="isAdministration" const:negate="YES">
|
|
<md-button var:href="relativeAdministrationPath"><var:string label:value="Administration" /></md-button>
|
|
</var:if>
|
|
</var:if>
|
|
</md-toolbar>
|
|
|
|
<script type="text/javascript">
|
|
var ApplicationBaseURL = '<var:string value="modulePath"/>';
|
|
var ResourcesURL = '<var:string value="applicationPath"/>.woa/WebServerResources';
|
|
var minimumSearchLength = <var:string value="minimumSearchLength"/>;
|
|
<var:if condition="isSuperUser"
|
|
>var IsSuperUser = true;
|
|
</var:if>
|
|
<var:if condition="isSuperUser" const:negate="YES"
|
|
>var IsSuperUser = false;
|
|
</var:if>
|
|
<var:if condition="usesCASAuthentication"
|
|
>var usesCASAuthentication = true;
|
|
</var:if>
|
|
<var:if condition="usesCASAuthentication" const:negate="YES"
|
|
>var usesCASAuthentication = false;
|
|
</var:if>
|
|
<var:if condition="shortUserNameForDisplay" const:value="anonymous"
|
|
const:negate="YES"
|
|
>var UserFolderURL = '<var:string value="userFolderPath" const:escapeHTML="NO"/>';
|
|
var UserLogin = '<var:string value="shortUserNameForDisplay" const:escapeHTML="NO"/>';
|
|
var UserIdentification = '<var:string value="userIdentification" const:escapeHTML="NO"/>';
|
|
var UserLanguage = '<var:string value="userLanguage" const:escapeHTML="NO"/>';
|
|
</var:if>
|
|
<var:string value="commonLocalizableStrings" const:escapeHTML="NO"/>
|
|
<var:string value="productLocalizableStrings" const:escapeHTML="NO"/>
|
|
</script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/underscore-min.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/hammer.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/angular.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/angular-animate.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/angular-sanitize.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/angular-aria.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/angular-material.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/angular-ui-router.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/mm-foundation-tpls.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/angular-recursion.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/vendor/angular-vs-repeat.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/Common/utils.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/Common/ui.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/Common/ui-common.js"><!-- space --></script>
|
|
<script type="text/javascript" rsrc:src="js/Common/ui-desktop.js"><!-- space --></script>
|
|
<var:if condition="hasProductSpecificJavaScript"><script type="text/javascript"
|
|
var:src="productJavaScriptURL"><!-- space --></script></var:if>
|
|
<var:if condition="hasPageSpecificJavaScript"><script type="text/javascript"
|
|
var:src="pageJavaScriptURL"><!-- space --></script></var:if>
|
|
<var:foreach list="additionalJSFiles" item="item"
|
|
><script type="text/javascript" var:src="item"><!-- space --></script>
|
|
</var:foreach>
|
|
<var:foreach list="systemAdditionalJSFiles" item="item"
|
|
><script type="text/javascript" var:src="item"><!-- space --></script>
|
|
</var:foreach>
|
|
</var:if>
|
|
<var:if condition="isCompatibleBrowser" const:negate="YES"
|
|
><var:component className="SOGoBrowsersPanel"
|
|
/></var:if>
|
|
<noscript>
|
|
<div class="javascriptPopupBackground">
|
|
</div>
|
|
<div class="javascriptMessagePseudoWindow noJavascriptErrorMessage">
|
|
<var:string label:value="noJavascriptError"
|
|
/><br /><br
|
|
/><a class="button" var:href="page.context.uri"
|
|
><var:string label:value="noJavascriptRetry"
|
|
/></a>
|
|
</div>
|
|
</noscript>
|
|
</body>
|
|
</html>
|
|
</var:if>
|
|
|
|
<var:if condition="hideFrame">
|
|
<var:component-content />
|
|
</var:if>
|
|
</container>
|