Advertisement
Guest User

Untitled

a guest
Apr 24th, 2018
293
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 15.59 KB | None | 0 0
  1. <!DOCTYPE html><html lang="en-GB"><head><base href="https://adfs.st-andrews.ac.uk/adfs/ls/?wa=wsignin1.0&amp;wtrealm=urn:federation:MicrosoftOnline&amp;wctx=whr%3Dst-andrews.ac.uk"/>
  2. <meta http-equiv="X-UA-Compatible" content="IE=10.000"/>
  3. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
  4. <meta http-equiv="content-type" content="text/html;charset=UTF-8"/>
  5. <meta http-equiv="cache-control" content="no-cache,no-store"/>
  6. <meta http-equiv="pragma" content="no-cache"/>
  7. <meta http-equiv="expires" content="-1"/>
  8. <meta name="mswebdialog-title" content="Connecting to University of St Andrews"/>
  9.  
  10. <title>Sign In</title>
  11. <script type="text/javascript">
  12. //<![CDATA[
  13. function LoginErrors(){this.userNameFormatError = 'Enter your user ID in the format \u0026quot;domain\\user\u0026quot; or \u0026quot;user@domain\u0026quot;.'; this.passwordEmpty = 'Enter your password.'; this.passwordTooLong = 'Password must be shorter than 128 characters.';}; var maxPasswordLength = 128;
  14. //]]>
  15. </script>
  16.  
  17. <script type="text/javascript">
  18. //<![CDATA[
  19. // Copyright (c) Microsoft Corporation. All rights reserved.
  20. function InputUtil(errTextElementID, errDisplayElementID) {
  21.  
  22. if (!errTextElementID) errTextElementID = 'errorText';
  23. if (!errDisplayElementID) errDisplayElementID = 'error';
  24.  
  25. this.hasFocus = false;
  26. this.errLabel = document.getElementById(errTextElementID);
  27. this.errDisplay = document.getElementById(errDisplayElementID);
  28. };
  29. InputUtil.prototype.canDisplayError = function () {
  30. return this.errLabel && this.errDisplay;
  31. }
  32. InputUtil.prototype.checkError = function () {
  33. if (!this.canDisplayError){
  34. throw new Error ('Error element not present');
  35. }
  36. if (this.errLabel && this.errLabel.innerHTML) {
  37. this.errDisplay.style.display = '';
  38. var cause = this.errLabel.getAttribute('for');
  39. if (cause) {
  40. var causeNode = document.getElementById(cause);
  41. if (causeNode && causeNode.value) {
  42. causeNode.focus();
  43. this.hasFocus = true;
  44. }
  45. }
  46. }
  47. else {
  48. this.errDisplay.style.display = 'none';
  49. }
  50. };
  51. InputUtil.prototype.setInitialFocus = function (input) {
  52. if (this.hasFocus) return;
  53. var node = document.getElementById(input);
  54. if (node) {
  55. if ((/^\s*$/).test(node.value)) {
  56. node.focus();
  57. this.hasFocus = true;
  58. }
  59. }
  60. };
  61. InputUtil.prototype.setError = function (input, errorMsg) {
  62. if (!this.canDisplayError) {
  63. throw new Error('Error element not present');
  64. }
  65. input.focus();
  66.  
  67. if (errorMsg) {
  68. this.errLabel.innerHTML = errorMsg;
  69. }
  70. this.errLabel.setAttribute('for', input.id);
  71. this.errDisplay.style.display = '';
  72. };
  73. InputUtil.makePlaceholder = function (input) {
  74. var ua = navigator.userAgent;
  75.  
  76. if (ua != null &&
  77. (ua.match(/MSIE 9.0/) != null ||
  78. ua.match(/MSIE 8.0/) != null ||
  79. ua.match(/MSIE 7.0/) != null)) {
  80. var node = document.getElementById(input);
  81. if (node) {
  82. var placeholder = node.getAttribute("placeholder");
  83. if (placeholder != null && placeholder != '') {
  84. var label = document.createElement('input');
  85. label.type = "text";
  86. label.value = placeholder;
  87. label.readOnly = true;
  88. label.style.position = 'absolute';
  89. label.style.borderColor = 'transparent';
  90. label.className = node.className + ' hint';
  91. label.tabIndex = -1;
  92. label.onfocus = function () { this.nextSibling.focus(); };
  93.  
  94. node.style.position = 'relative';
  95. node.parentNode.style.position = 'relative';
  96. node.parentNode.insertBefore(label, node);
  97. node.onkeyup = function () { InputUtil.showHint(this); };
  98. node.onblur = function () { InputUtil.showHint(this); };
  99. node.style.background = 'transparent';
  100.  
  101. node.setAttribute("placeholder", "");
  102. InputUtil.showHint(node);
  103. }
  104. }
  105. }
  106. };
  107. InputUtil.focus = function (inputField) {
  108. var node = document.getElementById(inputField);
  109. if (node) node.focus();
  110. };
  111. InputUtil.hasClass = function(node, clsName) {
  112. return node.className.match(new RegExp('(\\s|^)' + clsName + '(\\s|$)'));
  113. };
  114. InputUtil.addClass = function(node, clsName) {
  115. if (!this.hasClass(node, clsName)) node.className += " " + clsName;
  116. };
  117. InputUtil.removeClass = function(node, clsName) {
  118. if (this.hasClass(node, clsName)) {
  119. var reg = new RegExp('(\\s|^)' + clsName + '(\\s|$)');
  120. node.className = node.className.replace(reg, ' ');
  121. }
  122. };
  123. InputUtil.showHint = function (node, gotFocus) {
  124. if (node.value && node.value != '') {
  125. node.previousSibling.style.display = 'none';
  126. }
  127. else {
  128. node.previousSibling.style.display = '';
  129. }
  130. };
  131. //]]>
  132. </script>
  133.  
  134.  
  135.  
  136. <link rel="stylesheet" type="text/css" href="/adfs/portal/css/style.css?id=D74D4D6943F32AE6F7F11D14D601DBB0E1A58919176EE512150366B6279AAF99"/><style>.illustrationClass {background-image:url(/adfs/portal/illustration/illustration.jpg?id=B9074CB2391DED90B587F1E85261DB21536A33C22C618F23436E38FC78D8EF74);}</style>
  137.  
  138. </head>
  139. <body dir="ltr" class="body">
  140. <div id="noScript" style="position:static; width:100%; height:100%; z-index:100">
  141. <h1>JavaScript required</h1>
  142. <p>JavaScript is required. This web browser does not support JavaScript or JavaScript in this web browser is not enabled.</p>
  143. <p>To find out if your web browser supports JavaScript or to enable JavaScript, see web browser help.</p>
  144. </div>
  145. <script type="text/javascript" language="JavaScript">
  146. document.getElementById("noScript").style.display = "none";
  147. </script>
  148. <div id="fullPage">
  149. <div id="brandingWrapper" class="float">
  150. <div id="branding"></div>
  151. </div>
  152. <div id="contentWrapper" class="float">
  153. <div id="content">
  154. <div id="header">
  155. <img class="logoImage" src="/adfs/portal/logo/logo.png?id=088F96288513FEC2F15D983DFB55AAC3E5289AB6E99524114794E2C1E0E0C334" alt="University of St Andrews"/>
  156. </div>
  157. <div id="workArea">
  158.  
  159. <div id="authArea" class="groupMargin">
  160.  
  161.  
  162. <div id="loginArea">
  163. <div id="loginMessage" class="groupMargin">Sign in with your organizational account</div>
  164.  
  165. <form method="post" id="loginForm" autocomplete="off" novalidate="novalidate" onkeypress="if (event &amp;&amp; event.keyCode == 13) Login.submitLoginRequest();" action=""><input type="hidden" value="https://adfs.st-andrews.ac.uk/adfs/ls/?wa=wsignin1.0&amp;wtrealm=urn:federation:MicrosoftOnline&amp;wctx=whr%3Dst-andrews.ac.uk/adfs/ls/?wa=wsignin1.0&amp;wtrealm=urn:federation:MicrosoftOnline&amp;wctx=whr%3Dst-andrews.ac.uk"/>
  166. <div id="error" class="fieldMargin error smallText">
  167. <label id="errorText" for=""></label>
  168. </div>
  169.  
  170. <div id="formsAuthenticationArea">
  171. <div id="userNameArea">
  172. <input id="userNameInput" autocomplete="off" type="email" value="" tabindex="1" class="text fullWidth" spellcheck="false" placeholder="someone@example.com"/>
  173. </div>
  174.  
  175. <div id="passwordArea">
  176. <input id="passwordInput" autocomplete="off" type="password" tabindex="2" class="text fullWidth" placeholder="Password"/>
  177. </div>
  178. <div id="kmsiArea" style="display:none">
  179. <input type="checkbox" tabindex="3" id="kmsiInput" value="true"/>
  180. <label for="kmsiInput">Keep me signed in</label>
  181. </div>
  182. <div id="submissionArea" class="submitMargin">
  183. <span id="submitButton" class="submit" tabindex="4" onkeypress="if (event &amp;&amp; event.keyCode == 32) Login.submitLoginRequest();" onclick="return Login.submitLoginRequest();">Sign in</span>
  184. </div>
  185. </div>
  186. <input id="optionForms" type="hidden" value="FormsAuthentication"/>
  187. </form>
  188.  
  189. <div id="authOptions">
  190. <form id="options" method="post" action=""><input type="hidden" value="https://adfs.st-andrews.ac.uk:443/adfs/ls/?wa=wsignin1.0&amp;wtrealm=urn:federation:MicrosoftOnline&amp;wctx=whr%3Dst-andrews.ac.uk"/>
  191. <script type="text/javascript">
  192. function SelectOption(option) {
  193. var i = document.getElementById('optionSelection');
  194. i.value = option;
  195. document.forms['options'].submit();
  196. return false;
  197. }
  198. </script>
  199. <input id="optionSelection" type="hidden"/>
  200. <div class="groupMargin"></div>
  201. </form>
  202. </div>
  203.  
  204. <div id="introduction" class="groupMargin">
  205. <p> Please login using your full userID e.g.<br/>ab12@st-andrews.ac.uk<br/><br/> This is a University of St Andrews secure login page for Microsoft Office 365.<br/>Using this service you must adhere to the <a href="http://www.st-andrews.ac.uk/staff/policy/computer/"> Regulations governing the use of University ICT facilities.</a></p>
  206. </div>
  207.  
  208. <script type="text/javascript">
  209. //<![CDATA[
  210.  
  211. function Login() {
  212. }
  213.  
  214. Login.userNameInput = 'userNameInput';
  215. Login.passwordInput = 'passwordInput';
  216.  
  217. Login.initialize = function () {
  218.  
  219. var u = new InputUtil();
  220.  
  221. u.checkError();
  222. u.setInitialFocus(Login.userNameInput);
  223. u.setInitialFocus(Login.passwordInput);
  224. }();
  225.  
  226. Login.submitLoginRequest = function () {
  227. var u = new InputUtil();
  228. var e = new LoginErrors();
  229.  
  230. var userName = document.getElementById(Login.userNameInput);
  231. var password = document.getElementById(Login.passwordInput);
  232.  
  233. if (!userName.value || !userName.value.match('[@\\\\]')) {
  234. u.setError(userName, e.userNameFormatError);
  235. return false;
  236. }
  237.  
  238. if (!password.value) {
  239. u.setError(password, e.passwordEmpty);
  240. return false;
  241. }
  242.  
  243. if (password.value.length > maxPasswordLength) {
  244. u.setError(password, e.passwordTooLong);
  245. return false;
  246. }
  247.  
  248. document.forms['loginForm'].submit();
  249. return false;
  250. };
  251.  
  252. InputUtil.makePlaceholder(Login.userNameInput);
  253. InputUtil.makePlaceholder(Login.passwordInput);
  254. //]]>
  255. </script>
  256. </div>
  257.  
  258. </div>
  259.  
  260. </div>
  261. <div id="footerPlaceholder"></div>
  262. </div>
  263. <div id="footer">
  264. <div id="footerLinks" class="floatReverse">
  265. <div><span id="copyright">© 2013 Microsoft</span><a id="home" class="pageLink" href="https://www.st-andrews.ac.uk">Home</a><a id="helpDesk" class="pageLink" href="http://www.st-andrews.ac.uk/itsupport/accounts/o365/">Help</a></div>
  266. </div>
  267. </div>
  268. </div>
  269. </div>
  270. <script type="text/javascript">
  271. //<![CDATA[
  272. // Copyright (c) Microsoft Corporation. All rights reserved.
  273.  
  274. // This file contains several workarounds on inconsistent browser behaviors that administrators may customize.
  275. "use strict";
  276.  
  277. // iPhone email friendly keyboard does not include "\" key, use regular keyboard instead.
  278. // Note change input type does not work on all versions of all browsers.
  279. if (navigator.userAgent.match(/iPhone/i) != null) {
  280. var emails = document.querySelectorAll("input[type='email']");
  281. if (emails) {
  282. for (var i = 0; i < emails.length; i++) {
  283. emails[i].type = 'text';
  284. }
  285. }
  286. }
  287.  
  288. // In the CSS file we set the ms-viewport to be consistent with the device dimensions,
  289. // which is necessary for correct functionality of immersive IE.
  290. // However, for Windows 8 phone we need to reset the ms-viewport's dimension to its original
  291. // values (auto), otherwise the viewport dimensions will be wrong for Windows 8 phone.
  292. // Windows 8 phone has agent string 'IEMobile 10.0'
  293. if (navigator.userAgent.match(/IEMobile\/10\.0/)) {
  294. var msViewportStyle = document.createElement("style");
  295. msViewportStyle.appendChild(
  296. document.createTextNode(
  297. "@-ms-viewport{width:auto!important}"
  298. )
  299. );
  300. msViewportStyle.appendChild(
  301. document.createTextNode(
  302. "@-ms-viewport{height:auto!important}"
  303. )
  304. );
  305. document.getElementsByTagName("head")[0].appendChild(msViewportStyle);
  306. }
  307.  
  308. // If the innerWidth is defined, use it as the viewport width.
  309. if (window.innerWidth && window.outerWidth && window.innerWidth !== window.outerWidth) {
  310. var viewport = document.querySelector("meta[name=viewport]");
  311. viewport.setAttribute('content', 'width=' + window.innerWidth + 'px; initial-scale=1.0; maximum-scale=1.0');
  312. }
  313.  
  314. // Gets the current style of a specific property for a specific element.
  315. function getStyle(element, styleProp) {
  316. var propStyle = null;
  317.  
  318. if (element && element.currentStyle) {
  319. propStyle = element.currentStyle[styleProp];
  320. }
  321. else if (element && window.getComputedStyle) {
  322. propStyle = document.defaultView.getComputedStyle(element, null).getPropertyValue(styleProp);
  323. }
  324.  
  325. return propStyle;
  326. }
  327.  
  328. // The script below is used for downloading the illustration image
  329. // only when the branding is displaying. This script work together
  330. // with the code in PageBase.cs that sets the html inline style
  331. // containing the class 'illustrationClass' with the background image.
  332. var computeLoadIllustration = function () {
  333. var branding = document.getElementById("branding");
  334. var brandingDisplay = getStyle(branding, "display");
  335. var brandingWrapperDisplay = getStyle(document.getElementById("brandingWrapper"), "display");
  336.  
  337. if (brandingDisplay && brandingDisplay !== "none" &&
  338. brandingWrapperDisplay && brandingWrapperDisplay !== "none") {
  339. var newClass = "illustrationClass";
  340.  
  341. if (branding.classList && branding.classList.add) {
  342. branding.classList.add(newClass);
  343. } else if (branding.className !== undefined) {
  344. branding.className += " " + newClass;
  345. }
  346. if (window.removeEventListener) {
  347. window.removeEventListener('load', computeLoadIllustration, false);
  348. window.removeEventListener('resize', computeLoadIllustration, false);
  349. }
  350. else if (window.detachEvent) {
  351. window.detachEvent('onload', computeLoadIllustration);
  352. window.detachEvent('onresize', computeLoadIllustration);
  353. }
  354. }
  355. };
  356.  
  357. if (window.addEventListener) {
  358. window.addEventListener('resize', computeLoadIllustration, false);
  359. window.addEventListener('load', computeLoadIllustration, false);
  360. }
  361. else if (window.attachEvent) {
  362. window.attachEvent('onresize', computeLoadIllustration);
  363. window.attachEvent('onload', computeLoadIllustration);
  364. }
  365.  
  366. //]]>
  367. </script>
  368.  
  369.  
  370.  
  371.  
  372.  
  373. </body></html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement