ConfigureGoogleApps.jsp revision 747557977e374069e102d06d5cc267d37e6b9b52
1333N/A<%--
1333N/A DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
1333N/A
1333N/A Copyright (c) 2009 Sun Microsystems Inc. All Rights Reserved
1333N/A
1265N/A The contents of this file are subject to the terms
1333N/A of the Common Development and Distribution License
1333N/A (the License). You may not use this file except in
1333N/A compliance with the License.
1333N/A
1333N/A You can obtain a copy of the License at
1333N/A https://opensso.dev.java.net/public/CDDLv1.0.html or
1333N/A opensso/legal/CDDLv1.0.txt
1265N/A See the License for the specific language governing
1265N/A permission and limitations under the License.
1265N/A
1333N/A When distributing Covered Code, include this CDDL
1333N/A Header Notice in each file and include the License file
1265N/A at opensso/legal/CDDLv1.0.txt.
1265N/A If applicable, add the following below the CDDL Header,
1265N/A with the fields enclosed by brackets [] replaced by
1265N/A your own identifying information:
1265N/A "Portions Copyrighted [year] [name of copyright owner]"
1265N/A
1333N/A $Id: ConfigureGoogleApps.jsp,v 1.8 2009/08/14 18:32:46 asyhuang Exp $
1333N/A
1333N/A--%>
1333N/A
1333N/A<%--
1333N/A Portions Copyrighted 2013-2015 ForgeRock AS.
1333N/A Portions Copyrighted 2015 Nomura Research Institute, Ltd.
1333N/A--%>
1333N/A
1333N/A<%@ page import="org.owasp.esapi.ESAPI"%>
1333N/A<%@ page info="CreateGoogleApps" language="java" %>
1333N/A<%@taglib uri="/WEB-INF/jato.tld" prefix="jato" %>
1333N/A<%@taglib uri="/WEB-INF/cc.tld" prefix="cc" %>
1333N/A<%
1333N/A request.setCharacterEncoding("UTF-8");
1333N/A%>
1333N/A
1333N/A<jato:useViewBean
1265N/A className="com.sun.identity.console.task.ConfigureGoogleAppsViewBean"
1333N/A fireChildDisplayEvents="true" >
1333N/A
1333N/A<cc:i18nbundle baseName="amConsole" id="amConsole"
1333N/A locale="<%=((com.sun.identity.console.base.AMViewBeanBase)viewBean).getUserLocale()%>"/>
1333N/A
1333N/A<cc:header name="hdrCommon" pageTitle="webconsole.title" bundleID="amConsole" copyrightYear="2009" fireDisplayEvents="true">
1333N/A
606N/A<link rel="stylesheet" type="text/css" href="../console/css/openam.css" />
1333N/A<script language="javascript" src="../console/js/am.js"></script>
1333N/A<script language="javascript" src="../console/js/tasksPage.js"></script>
1333N/A<script language="javascript" src="../com_sun_web_ui/js/dynamic.js"></script>
1333N/A
1333N/A<div id="main" style="position: absolute; margin: 0; border: none; padding: 0; width:auto; height:101%;">
1333N/A<div id="divhelp" style="display: none; position:absolute; margin: 0; border: 1px solid #AABCC8; padding: 0; width:400px; height:200px; background:#FCFCFC">
1333N/A<table border=0 cellpadding=2 cellspacing=0 width="100%">
1333N/A<tr><td width=99%><span id="divHelpmsg" /></td>
1333N/A<td width="1%" valign="top">
1333N/A<img src="../console/images/tasks/close.gif" width="16" height="16" onClick="hideHelp()" />
1333N/A</td>
1333N/A</tr>
1333N/A</table>
1196N/A</div>
705N/A
705N/A<cc:form name="ConfigureGoogleApps" method="post">
606N/A<jato:hidden name="szCache" />
606N/A<script language="javascript">
606N/A function confirmLogout() {
1333N/A return confirm("<cc:text name="txtLogout" defaultValue="masthead.logoutMessage" bundleID="amConsole"/>");
1196N/A }
1196N/A
1333N/A function cancelOp() {
1196N/A document.location.replace("../task/Home");
1333N/A return false;
1265N/A }
1333N/A
1333N/A function realmSelect(radio) {
1333N/A hideCOTObjs();
1333N/A hideIDPObjs();
1333N/A getCircleOfTrust(radio.value);
705N/A var choiceCOT = frm.elements['ConfigureGoogleApps.choiceCOT'];
1333N/A if(choiceCOT.length>0) {
1196N/A cotSelect(choiceCOT.options[0]);
1333N/A }
1196N/A }
1265N/A
1333N/A function cotSelect(radio) {
1196N/A getIDP(radio.value);
1333N/A var idpobj = frm.elements['ConfigureGoogleApps.choiceIDP'];
1333N/A if (idpobj.options.length > 1) {
1333N/A showIDPObjs();
1333N/A }
1333N/A }
1333N/A
957N/A function hideRealm() {
957N/A var frm = document.forms['ConfigureGoogleApps'];
957N/A var realmobj = frm.elements['ConfigureGoogleApps.tfRealm'];
957N/A if (realmobj.options.length < 2) {
1196N/A hideRealmObjs();
1196N/A }
1333N/A var cotobj = frm.elements['ConfigureGoogleApps.choiceCOT'];
1333N/A if (cotobj.options.length < 2) {
1333N/A document.getElementById('cotfld').style.display = 'none';
1333N/A document.getElementById('cottxt').innerHTML = cotobj.value;
957N/A }
957N/A var idpobj = frm.elements['ConfigureGoogleApps.choiceIDP'];
957N/A if (idpobj.options.length < 2) {
957N/A document.getElementById('idpfld').style.display = 'none';
1196N/A document.getElementById('idptxt').innerHTML = idpobj.value;
957N/A }
1333N/A }
1333N/A
1333N/A function hideRealmObjs() {
1333N/A document.getElementById('realmlbl').style.display = 'none';
1333N/A document.getElementById('realmfld').style.display = 'none';
1333N/A }
1333N/A
1333N/A function showCOTObjs() {
1333N/A document.getElementById('cotlbl').style.display = '';
1333N/A document.getElementById('cotfld').style.display = '';
1333N/A }
1333N/A
1333N/A function hideCOTObjs() {
document.getElementById('cotlbl').style.display = 'none';
document.getElementById('cotfld').style.display = 'none';
}
function showIDPObjs() {
document.getElementById('idplbl').style.display = '';
document.getElementById('idpfld').style.display = '';
}
function hideIDPObjs() {
document.getElementById('idplbl').style.display = 'none';
document.getElementById('idpfld').style.display = 'none';
}
</script>
<cc:primarymasthead name="mhCommon" bundleID="amConsole" logoutOnClick="return confirmLogout();" locale="<%=((com.sun.identity.console.base.AMViewBeanBase)viewBean).getUserLocale()%>"/>
<table border="0" cellpadding="10" cellspacing="0" width="100%">
<tr>
<td>
<cc:alertinline name="ialertCommon" bundleID="amConsole" />
</td>
</tr>
</table>
<%-- PAGE CONTENT --------------------------------------------------------- --%>
<cc:pagetitle name="pgtitle" bundleID="amConsole" pageTitleText="page.title.configure.google.apps" showPageTitleSeparator="true" viewMenuLabel="" pageTitleHelpMessage="" showPageButtonsTop="true" showPageButtonsBottom="false" />
<table border="0" cellpadding="20" cellspacing="0">
<tr><td>
<cc:text name="txtDesc" defaultValue="page.desc.configure.google.apps" bundleID="amConsole" />
</td></tr>
</table>
<cc:propertysheet name="propertyAttributes" bundleID="amConsole" showJumpLinks="false"/>
</cc:form>
</cc:header>
</div>
<div id="dlg" class="dvs"></div>
<script language="javascript">
var frm = document.forms['ConfigureGoogleApps'];
var idpNew = frm.elements['ConfigureGoogleApps.choiceIDP'].value;
var realmNew = frm.elements['ConfigureGoogleApps.tfRealm'].value;
var domainIdNew ;
var msgCreating = "<p><img src=\"../console/images/processing.gif\" width=\"66\" height\"66\"/></p><cc:text name="txtConfiguring" defaultValue="configuring.google.apps.waiting" bundleID="amConsole" escape="false" />";
var msgCreated = "<p>&nbsp;</p><input name=\"btnOK\" type=\"submit\" class=\"Btn1\" value=\"<cc:text name="txtOKBtn" defaultValue="ajax.ok.button" bundleID="amConsole" />\" onClick=\"document.location.replace(\'../task/ConfigureGoogleAppsComplete?idp=\' + idpNew + \'&realm=\' + realmNew + \'&domainId=\' + domainIdNew);return false;\" /></div></p>";
var ttlCreated = "<h3><cc:text name="txtTtlCreated" defaultValue="google.apps.configured.msg" escape="false" bundleID="amConsole" /></h3>";
var closeBtn = "<p>&nbsp;</p><p><div class=\"TtlBtnDiv\"><input name=\"btnClose\" type=\"submit\" class=\"Btn1\" value=\"<cc:text name="txtCloseBtn" defaultValue="ajax.close.button" bundleID="amConsole" />\" onClick=\"focusMain();return false;\" /></div></p>";
var btn1 = frm.elements['ConfigureGoogleApps.button1'];
btn1.onclick = submitPage;
var btn2 = frm.elements['ConfigureGoogleApps.button2'];
btn2.onclick = cancelOp;
var ajaxObj = getXmlHttpRequestObject();
var selectOptionCache;
var userLocale = "<%= viewBean.getUserLocale().toString() %>";
function submitPage() {
document.getElementById('dlg').style.top = '300px';
fade();
document.getElementById('dlg').innerHTML = '<center>' +
msgCreating + '</center>';
var url = "../console/ajax/AjaxProxy.jsp";
var params = 'locale=' + userLocale +
'&class=com.sun.identity.workflow.ConfigureGoogleApps' + getData();
frm = document.forms['ConfigureGoogleApps'];
idpNew = frm.elements['ConfigureGoogleApps.choiceIDP'].value;
realmNew = frm.elements['ConfigureGoogleApps.tfRealm'].value;
var size = frm.elements['ConfigureGoogleApps.tfDomainId.listbox'].length ;
i=0;
domainIdNew="";
for (i=0;i<size-1;i++)
{
domainIdNew += frm.elements['ConfigureGoogleApps.tfDomainId.listbox'].options[i].value + "," ;
}
ajaxPost(ajaxObj, url, params, configured);
return false;
}
function getData() {
var cot = frm.elements['ConfigureGoogleApps.choiceCOT'].value;
var idp = frm.elements['ConfigureGoogleApps.choiceIDP'].value;
var realm = frm.elements['ConfigureGoogleApps.tfRealm'].value;
var size = frm.elements['ConfigureGoogleApps.tfDomainId.listbox'].length ;
i=0;
domainIdNew="";
for (i=0;i<size-1;i++)
{
domainIdNew += frm.elements['ConfigureGoogleApps.tfDomainId.listbox'].options[i].value + "," ;
}
return "&realm=" + escapeEx(realm) +
"&cot=" + escapeEx(cot) +
"&idp=" + escapeEx(idp) +
"&domainId=" + escapeEx(domainIdNew);
}
function configured() {
if (ajaxObj.readyState == 4) {
var result = hexToString(ajaxObj.responseText);
var status = result.substring(0, result.indexOf('|'));
var result = result.substring(result.indexOf('|') +1);
var msg = '<center><p>' + result + '</p></center>';
if (status == 0) {
msg = '<center>' + ttlCreated + msgCreated + '</center>';
} else {
msg = msg + '<center>' + closeBtn + '</center>';
}
frm = document.forms['ConfigureGoogleApps'];
idpNew = frm.elements['ConfigureGoogleApps.choiceIDP'].value;
realmNew = frm.elements['ConfigureGoogleApps.tfRealm'].value;
var size = frm.elements['ConfigureGoogleApps.tfDomainId.listbox'].length ;
i=0; domainIdNew="";
for (i=0;i<size-1;i++)
{
domainIdNew += frm.elements['ConfigureGoogleApps.tfDomainId.listbox'].options[i].value + "," ;
}
document.getElementById('dlg').innerHTML = msg;
}
}
function getCircleOfTrust(realm) {
var url = "../console/ajax/AjaxProxy.jsp";
var params = 'locale=' + userLocale +
'&class=com.sun.identity.workflow.GetCircleOfTrusts' +
'&realm=' + escapeEx(realm);
ajaxPost(ajaxObj, url, params, circleOfTrust);
}
function getIDP(cot) {
clearOptions(frm, 'ConfigureGoogleApps.choiceIDP');
var url = "../console/ajax/AjaxProxy.jsp";
var realm = frm.elements['ConfigureGoogleApps.tfRealm'].value;
var params = 'locale=' + userLocale +
'&class=com.sun.identity.workflow.GetHostedIDPs' +
'&realm=' + escapeEx(realm) +
'&cot=' + escapeEx(cot);
ajaxPost(ajaxObj, url, params, gotIDPs);
}
function circleOfTrust() {
if (ajaxObj.readyState == 4) {
var result = hexToString(ajaxObj.responseText);
var status = result.substring(0, result.indexOf('|'));
var result = result.substring(result.indexOf('|') +1);
var msg = '';
if (status == 0) {
result = result.replace(/^\s+/, '');
result = result.replace(/\s+$/, '');
if (result.length == 0) {
} else {
var cots = result.split('|');
var choiceCOT = frm.elements['ConfigureGoogleApps.choiceCOT'];
for (var i = choiceCOT.length - 1; i>=0; i--) {
choiceCOT.remove(i);
}
for (var i = 0; i < cots.length; i++) {
choiceCOT.options[i] = new Option(cots[i], cots[i]);
}
showCOTObjs();
}
if (presetcot) {
selectOption(frm, 'ConfigureGoogleApps.choiceCOT', presetcot);
presetcot = null;
}
} else {
msg = '<center><p>' + result + '</p></center>';
msg = msg + '<center>' + closeBtn + '</center>';
document.getElementById('dlg').innerHTML = msg;
ajaxObj = getXmlHttpRequestObject();
}
}
}
function gotIDPs() {
if (ajaxObj.readyState == 4) {
var result = hexToString(ajaxObj.responseText);
var status = result.substring(0, result.indexOf('|'));
var result = result.substring(result.indexOf('|') +1);
var msg = '';
if (status == 0) {
result = result.replace(/^\s+/, '');
result = result.replace(/\s+$/, '');
if (result.length == 0) {
} else {
var idps = result.split('|');
var choiceIDP = frm.elements['ConfigureGoogleApps.choiceIDP'];
for (var i = 0; i < idps.length; i++) {
choiceIDP.options[i] = new Option(idps[i], idps[i]);
}
showIDPObjs();
}
} else {
msg = '<center><p>' + result + '</p></center>';
msg = msg + '<center>' + closeBtn + '</center>';
document.getElementById('dlg').innerHTML = msg;
ajaxObj = getXmlHttpRequestObject();
}
}
}
function getActionTable() {
var nodes = document.getElementsByTagName("table");
var len = nodes.length;
for (var i = 0; i < len; i++) {
if (nodes[i].className == 'Tbl') {
return nodes[i];
}
}
}
var presetcot = null;
<%
String cot = request.getParameter("cot");
if (!ESAPI.validator().isValidInput("HTTP Parameter Value: " + cot , cot,
"HTTPParameterValue", 2000, true)) {
cot = null;
}
String idp = request.getParameter("entityId");
if (!ESAPI.validator().isValidInput("HTTP Parameter Value: " + idp, idp ,
"HTTPParameterValue", 2000, false)) {
idp = "";
}
if ((cot != null) && (cot.trim().length() > 0)) {
out.println("hideRealmObjs();");
out.println("hideIDPObjs();");
out.println("presetcot = \"" + ESAPI.encoder().encodeForHTML(cot) + "\";");
out.println("document.getElementById('cotfld').style.display = 'none';");
out.println("document.getElementById('cottxt').innerHTML = \"" + ESAPI.encoder().encodeForHTML(cot) + "\";");
out.println("document.getElementById('idpfld').style.display = 'none';");
out.println("document.getElementById('idplbl').style.display = '';");
out.println("document.getElementById('idptxt').innerHTML = \"" + ESAPI.encoder().encodeForHTML(idp) + "\";");
} else {
out.println("hideRealm();");
}
%>
function unescapeQuote(str) {
str = str.replace(/&quot;/g, '"');
str = str.replace(/&lt;/g, '<');
str = str.replace(/&gt;/g, '>');
return str;
}
var infoRealm = unescapeQuote("<cc:text name="txtInfoRealm" defaultValue="configure.google.apps.help.realm" bundleID="amConsole" />");
var infoEntityId = unescapeQuote("<cc:text name="txtInfoEntityId" defaultValue="configure.google.apps.help.entity.id" bundleID="amConsole" />");
</script>
</jato:useViewBean>