Example #1
0
function globalsignssl_SSLStepThree($params)
{
    $user = $params['configoption1'];
    $pass = $params['configoption2'];
    $prodcode = $params['configoption3'];
    $baseoption = $params['configoption4'];
    $validityperiod = $params['configoption5'];
    $testmode = $params['configoption6'];
    $webservertype = $params['servertype'];
    $csr = $params['csr'];
    $firstname = $params['firstname'];
    $lastname = $params['lastname'];
    $orgname = $params['orgname'];
    $jobtitle = $params['jobtitle'];
    $emailaddress = $params['email'];
    $address1 = $params['address1'];
    $address2 = $params['address2'];
    $city = $params['city'];
    $state = $params['state'];
    $postcode = $params['postcode'];
    $country = $params['country'];
    $phonenumber = $params['phonenumber'];
    $orderid = $params['remoteid'];
    $approveremail = $params['approveremail'];
    if ($prodcode == "AlphaSSL") {
        $prodcode = "DV_LOW";
    } else {
        if ($prodcode == "DomainSSL") {
            $prodcode = "DV";
        } else {
            if ($prodcode == "OrganizationSSL") {
                $prodcode = "OV";
            } else {
                if ($prodcode == "ExtendedSSL") {
                    $prodcode = "EV";
                }
            }
        }
    }
    if ($baseoption == "Wildcard SSL") {
        $baseoption = "wildcard";
    } else {
        $baseoption = "";
    }
    $orderkind = "new";
    if ($params['customfields']['OrderKind'] == "transfer") {
        $orderkind = "transfer";
    }
    if ($params['configoptions']['ValidityPeriod']) {
        $validityperiod = $params['configoptions']['ValidityPeriod'];
    }
    if ($params['configoptions']['Years']) {
        $validityperiod = $params['configoptions']['Years'];
    }
    $validityperiod = $validityperiod * 12;
    if ($testmode) {
        $wsdlorderurl = "http://testsystem.globalsign.com/wsdls/gasorder.wsdl";
        $wsdlqueryurl = "http://testsystem.globalsign.com/wsdls/gasquery.wsdl";
    } else {
        $wsdlorderurl = "https://system.globalsign.com/wsdls/gasorder.wsdl";
        $wsdlqueryurl = "https://system.globalsign.com/wsdls/gasquery.wsdl";
    }
    $request = array();
    $request['Request']['OrderRequestHeader']['AuthToken']['UserName'] = $user;
    $request['Request']['OrderRequestHeader']['AuthToken']['Password'] = $pass;
    $request['Request']['OrderRequestParameter']['ProductCode'] = $prodcode;
    $request['Request']['OrderRequestParameter']['BaseOption'] = $baseoption;
    $request['Request']['OrderRequestParameter']['OrderKind'] = $orderkind;
    $request['Request']['OrderRequestParameter']['ValidityPeriod']['Months'] = $validityperiod;
    $request['Request']['OrderRequestParameter']['Licenses'] = "1";
    $request['Request']['OrderRequestParameter']['CSR'] = $csr;
    $request['Request']['ApproverEmail'] = $approveremail;
    $request['Request']['ContactInfo']['FirstName'] = $firstname;
    $request['Request']['ContactInfo']['LastName'] = $lastname;
    $request['Request']['ContactInfo']['Phone'] = $phonenumber;
    $request['Request']['ContactInfo']['Email'] = $emailaddress;
    if ($prodcode == "OV") {
        $request['Request']['OrganizationInfo']['OrganizationName'] = $params['fields']['orgname'];
        $request['Request']['OrganizationInfo']['OrganizationAddress']['AddressLine1'] = $params['fields']['orgaddress'];
        $request['Request']['OrganizationInfo']['OrganizationAddress']['City'] = $params['fields']['orgcity'];
        $request['Request']['OrganizationInfo']['OrganizationAddress']['Region'] = $params['fields']['orgstate'];
        $request['Request']['OrganizationInfo']['OrganizationAddress']['PostalCode'] = $params['fields']['orgpostcode'];
        $request['Request']['OrganizationInfo']['OrganizationAddress']['Country'] = $params['fields']['orgcountry'];
        $request['Request']['OrganizationInfo']['OrganizationAddress']['Phone'] = $params['fields']['orgphone'];
    } else {
        if ($prodcode == "EV") {
            $bizcatcode = $params['fields']['bizcatcode'];
            if ($bizcatcode == "Business Entity") {
                $bizcatcode = "BE";
            } else {
                if ($bizcatcode == "Government Entity") {
                    $bizcatcode = "GE";
                } else {
                    $bizcatcode = "PO";
                }
            }
            $request['Request']['OrganizationInfoEV']['BusinessAssumedName'] = $params['fields']['bizname'];
            $request['Request']['OrganizationInfoEV']['BusinessCategoryCode'] = $bizcatcode;
            $request['Request']['OrganizationInfoEV']['OrganizationAddress']['AddressLine1'] = $params['fields']['orgaddress'];
            $request['Request']['OrganizationInfoEV']['OrganizationAddress']['City'] = $params['fields']['orgcity'];
            $request['Request']['OrganizationInfoEV']['OrganizationAddress']['Region'] = $params['fields']['orgstate'];
            $request['Request']['OrganizationInfoEV']['OrganizationAddress']['PostalCode'] = $params['fields']['orgpostcode'];
            $request['Request']['OrganizationInfoEV']['OrganizationAddress']['Country'] = $params['fields']['orgcountry'];
            $request['Request']['OrganizationInfoEV']['OrganizationAddress']['Phone'] = $params['fields']['orgphone'];
            $request['Request']['RequestorInfo']['FirstName'] = $firstname;
            $request['Request']['RequestorInfo']['LastName'] = $lastname;
            $request['Request']['RequestorInfo']['OrganizationName'] = $orgname;
            $request['Request']['RequestorInfo']['Email'] = $emailaddress;
            $request['Request']['RequestorInfo']['Phone'] = $phonenumber;
            $request['Request']['ApproverInfo']['FirstName'] = $firstname;
            $request['Request']['ApproverInfo']['LastName'] = $lastname;
            $request['Request']['ApproverInfo']['OrganizationName'] = $orgname;
            $request['Request']['ApproverInfo']['Email'] = $emailaddress;
            $request['Request']['ApproverInfo']['Phone'] = $phonenumber;
            $request['Request']['AuthorizedSignerInfo']['FirstName'] = $firstname;
            $request['Request']['AuthorizedSignerInfo']['LastName'] = $lastname;
            $request['Request']['AuthorizedSignerInfo']['Email'] = $emailaddress;
            $request['Request']['AuthorizedSignerInfo']['Phone'] = $phonenumber;
            $request['Request']['JurisdictionInfo']['Country'] = $country;
            $request['Request']['JurisdictionInfo']['StateOrProvince'] = $state;
            $request['Request']['JurisdictionInfo']['Locality'] = $city;
            $request['Request']['JurisdictionInfo']['IncorporatingAgencyRegistrationNumber'] = $params['fields']['orgregnum'];
        } else {
            $request['Request']['OrderID'] = $orderid;
        }
    }
    $client = new SoapClient($wsdlorderurl);
    if ($prodcode == "DV_LOW") {
        $result = $client->GSDVOrder($request);
    } else {
        if ($prodcode == "DV") {
            $result = $client->GSDVOrder($request);
        } else {
            if ($prodcode == "OV") {
                $result = $client->GSOVOrder($request);
            } else {
                if ($prodcode == "EV") {
                    $result = $client->GSEVOrder($request);
                }
            }
        }
    }
    logModuleCall("globalsignssl", "order", $request, (array) $result, "", array($user, $pass));
    $errorcode = $result->Response->OrderResponseHeader->SuccessCode;
    if (0 <= $errorcode) {
        $orderid = $result->Response->OrderID;
        update_query("tblsslorders", array("provisiondate" => "now()"), array("serviceid" => $params['serviceid']));
    } else {
        if ($result->Response->OrderResponseHeader->Errors->Error->ErrorCode) {
            $values['error'] = $result->Response->OrderResponseHeader->Errors->Error->ErrorCode . " - " . $result->Response->OrderResponseHeader->Errors->Error->ErrorMessage;
        } else {
            if ($result->Response->OrderResponseHeader->Errors->Error[0]->ErrorCode) {
                $values['error'] = $result->Response->OrderResponseHeader->Errors->Error[0]->ErrorCode . " - " . $result->Response->OrderResponseHeader->Errors->Error[0]->ErrorMessage;
            } else {
                $values['error'] = "An Unknown Error Occurred. Please contact support.";
            }
        }
    }
    return $values;
}