You are here

function wsdl::webDescription in Salesforce Suite 5

Same name in this branch
  1. 5 includes/nusoap.php \wsdl::webDescription()
  2. 5 includes/nusoap.orig.php \wsdl::webDescription()
Same name and namespace in other branches
  1. 5.2 includes/nusoap.php \wsdl::webDescription()
  2. 5.2 includes/nusoap.orig.php \wsdl::webDescription()

prints html description of services

@access private

File

includes/nusoap.php, line 4741

Class

wsdl
parses a WSDL file, allows access to it's data, other utility methods

Code

function webDescription() {
  global $HTTP_SERVER_VARS;
  if (isset($_SERVER)) {
    $PHP_SELF = $_SERVER['PHP_SELF'];
  }
  elseif (isset($HTTP_SERVER_VARS)) {
    $PHP_SELF = $HTTP_SERVER_VARS['PHP_SELF'];
  }
  else {
    $this
      ->setError("Neither _SERVER nor HTTP_SERVER_VARS is available");
  }
  $b = '
		<html><head><title>NuSOAP: ' . $this->serviceName . '</title>
		<style type="text/css">
		    body    { font-family: arial; color: #000000; background-color: #ffffff; margin: 0px 0px 0px 0px; }
		    p       { font-family: arial; color: #000000; margin-top: 0px; margin-bottom: 12px; }
		    pre { background-color: silver; padding: 5px; font-family: Courier New; font-size: x-small; color: #000000;}
		    ul      { margin-top: 10px; margin-left: 20px; }
		    li      { list-style-type: none; margin-top: 10px; color: #000000; }
		    .content{
			margin-left: 0px; padding-bottom: 2em; }
		    .nav {
			padding-top: 10px; padding-bottom: 10px; padding-left: 15px; font-size: .70em;
			margin-top: 10px; margin-left: 0px; color: #000000;
			background-color: #ccccff; width: 20%; margin-left: 20px; margin-top: 20px; }
		    .title {
			font-family: arial; font-size: 26px; color: #ffffff;
			background-color: #999999; width: 105%; margin-left: 0px;
			padding-top: 10px; padding-bottom: 10px; padding-left: 15px;}
		    .hidden {
			position: absolute; visibility: hidden; z-index: 200; left: 250px; top: 100px;
			font-family: arial; overflow: hidden; width: 600;
			padding: 20px; font-size: 10px; background-color: #999999;
			layer-background-color:#FFFFFF; }
		    a,a:active  { color: charcoal; font-weight: bold; }
		    a:visited   { color: #666666; font-weight: bold; }
		    a:hover     { color: cc3300; font-weight: bold; }
		</style>
		<script language="JavaScript" type="text/javascript">
		<!--
		// POP-UP CAPTIONS...
		function lib_bwcheck(){ //Browsercheck (needed)
		    this.ver=navigator.appVersion
		    this.agent=navigator.userAgent
		    this.dom=document.getElementById?1:0
		    this.opera5=this.agent.indexOf("Opera 5")>-1
		    this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
		    this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
		    this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
		    this.ie=this.ie4||this.ie5||this.ie6
		    this.mac=this.agent.indexOf("Mac")>-1
		    this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
		    this.ns4=(document.layers && !this.dom)?1:0;
		    this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
		    return this
		}
		var bw = new lib_bwcheck()
		//Makes crossbrowser object.
		function makeObj(obj){
		    this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?document.layers[obj]:0;
		    if(!this.evnt) return false
		    this.css=bw.dom||bw.ie4?this.evnt.style:bw.ns4?this.evnt:0;
		    this.wref=bw.dom||bw.ie4?this.evnt:bw.ns4?this.css.document:0;
		    this.writeIt=b_writeIt;
		    return this
		}
		// A unit of measure that will be added when setting the position of a layer.
		//var px = bw.ns4||window.opera?"":"px";
		function b_writeIt(text){
		    if (bw.ns4){this.wref.write(text);this.wref.close()}
		    else this.wref.innerHTML = text
		}
		//Shows the messages
		var oDesc;
		function popup(divid){
		    if(oDesc = new makeObj(divid)){
			oDesc.css.visibility = "visible"
		    }
		}
		function popout(){ // Hides message
		    if(oDesc) oDesc.css.visibility = "hidden"
		}
		//-->
		</script>
		</head>
		<body>
		<div class=content>
			<br><br>
			<div class=title>' . $this->serviceName . '</div>
			<div class=nav>
				<p>View the <a href="' . $PHP_SELF . '?wsdl">WSDL</a> for the service.
				Click on an operation name to view it&apos;s details.</p>
				<ul>';
  foreach ($this
    ->getOperations() as $op => $data) {
    $b .= "<li><a href='#' onclick=\"popout();popup('{$op}')\">{$op}</a></li>";

    // create hidden div
    $b .= "<div id='{$op}' class='hidden'>\n\t\t\t\t    <a href='#' onclick='popout()'><font color='#ffffff'>Close</font></a><br><br>";
    foreach ($data as $donnie => $marie) {

      // loop through opdata
      if ($donnie == 'input' || $donnie == 'output') {

        // show input/output data
        $b .= "<font color='white'>" . ucfirst($donnie) . ':</font><br>';
        foreach ($marie as $captain => $tenille) {

          // loop through data
          if ($captain == 'parts') {

            // loop thru parts
            $b .= "&nbsp;&nbsp;{$captain}:<br>";

            //if(is_array($tenille)){
            foreach ($tenille as $joanie => $chachi) {
              $b .= "&nbsp;&nbsp;&nbsp;&nbsp;{$joanie}: {$chachi}<br>";
            }

            //}
          }
          else {
            $b .= "&nbsp;&nbsp;{$captain}: {$tenille}<br>";
          }
        }
      }
      else {
        $b .= "<font color='white'>" . ucfirst($donnie) . ":</font> {$marie}<br>";
      }
    }
    $b .= '</div>';
  }
  $b .= '
				<ul>
			</div>
		</div></body></html>';
  return $b;
}