/**
 * User clicked on_demand_scan so we will send request to OpenSRS
 * @param type $params
 * @return type 
 */
function opensrs_sitelock_scan($params)
{
    $q = mysql_safequery('SELECT order_id FROM opensrs_sitelock_orders WHERE account_id = ?', array($params['accountid']));
    $row = mysql_fetch_assoc($q);
    $openSRS = new OpenSRS($params['configoption1'], 0, $params['configoption2'], $params['configoption3'] == 'on' ? 0 : 1);
    $send = array('action' => 'request_on_demand_scan', 'object' => 'trust_service', 'attributes' => array('order_id' => $row['order_id']));
    $r = $openSRS->send($send);
    if ($openSRS->isSuccess()) {
        return true;
    }
    return opensrs_sitelock_translate($openSRS->getError());
}
function opensrs_ssl_sslstepthree($params)
{
    $_LANG = opensrs_ssl_loadLanguage();
    //Prepare CSR
    if (isset($params['configdata']['csr'])) {
        $csr = trim($params['configdata']['csr']);
    } else {
        $csr = trim($params['csr']);
    }
    $csr = trim($params['configdata']['csr']);
    $csr = trim(preg_replace('/(.*)CERTIFICATE(.*)/', '', $csr));
    $csr = "-----BEGIN CERTIFICATE REQUEST-----\n" . $csr . "\n-----END CERTIFICATE REQUEST-----";
    $csr = trim($csr);
    //Domain
    $subject = openssl_csr_get_subject($csr);
    $domain = $subject['CN'];
    //Period
    $period = $params['configoptions']['Period'] ? $params['configoptions']['Period'] : $params['configoption5'];
    //Search in seal
    $seal_in_search = $params['customfields']['Search in seal'] ? $params['customfields']['Search in seal'] : $params['configoption6'];
    //Server Count
    $server_count = $params['customfields']['Server Count'] ? $params['customfields']['Server Count'] : $params['configoption7'];
    //Cert Type
    $product_type = opensrs_ssl_getCertType($params['configoption4']);
    $openSRS = new OpenSRS($params['configoption1'], 0, $params['configoption2'], $params['configoption3'] == 'on' ? 0 : 1);
    $types = opensrs_ssl_getRequiredContacts($product_type);
    $fields = array();
    $contact_types = array('admin', 'billing', 'tech', 'organization', 'signer');
    $send = array();
    $q = mysql_safequery("SELECT remoteid FROM tblsslorders WHERE serviceid = ?", array($params['serviceid']));
    $row = mysql_fetch_assoc($q);
    $send = array('action' => 'sw_register', 'object' => 'trust_service', 'attributes' => array('approver_email' => $params['approveremail'] ? $params['approveremail'] : $params['clientsdetails']['email'], 'product_type' => $product_type, 'contact_set' => array(), 'csr' => $csr, 'domain' => $domain, 'handle' => 'process', 'period' => $period, 'reg_type' => 'new', 'server_count' => $server_count, 'server_type' => opensrs_ssl_getServerType($params['configdata']['servertype'], $product_type)));
    $contact = array();
    $details = $params['configdata']['fields'];
    foreach ($contact_types as $type) {
        $t = ucfirst($type);
        if (in_array($type, $types)) {
            $contact[$type]['first_name'] = $details[$t . 'FirstName'];
            $contact[$type]['last_name'] = $details[$t . 'LastName'];
            $contact[$type]['title'] = $details[$t . 'Title'];
            $contact[$type]['org_name'] = $details[$t . 'Name'];
            $contact[$type]['address1'] = $details[$t . 'Address1'];
            $contact[$type]['address2'] = $details[$t . 'Address2'];
            $contact[$type]['address3'] = $details[$t . 'Address3'];
            $contact[$type]['city'] = $details[$t . 'City'];
            $contact[$type]['state'] = $details[$t . 'State'];
            $contact[$type]['postal_code'] = $details[$t . 'PostalCode'];
            $contact[$type]['state'] = $details[$t . 'State'];
            $contact[$type]['country'] = $details[$t . 'Country'];
            $contact[$type]['email'] = $details[$t . 'Email'];
            $contact[$type]['phone'] = $details[$t . 'Phone'];
            $contact[$type]['fax'] = $details[$t . 'Fax'];
        }
    }
    $send['attributes']['contact_set'] = $contact;
    if ($seal_in_search) {
        $send['attributes']['seal_in_search'] = '1';
        $send['attributes']['trust_seal'] = '1';
    }
    $res = $openSRS->send($send);
    if (!$openSRS->isSuccess()) {
        return array('error' => opensrs_ssl_translate($openSRS->getError()));
    }
    $order_id = $res['attributes']['order_id'];
    mysql_safequery("UPDATE tblsslorders SET remoteid = ? WHERE serviceid = ?", array($order_id, $params['serviceid']));
    mysql_safequery("UPDATE tblhosting SET domain = ? WHERE id = ?", array($domain, $params['serviceid']));
}