<?php
error_reporting(error_reporting() & ~E_NOTICE);
//error_reporting(E_ALL);

require_once($_SERVER["DOCUMENT_ROOT"] . '/library/functions.php');
openDBLIPlayground3309('pareto');

$debug = isset($_GET['debug']);
$reload = isset($_GET['reload']);

/**
 * Class SamplePardotApiClient
 *
 * Example PHP client to call the Pardot API
 */
class QueryProspectPardotApiClient
{
    const BASE_URL = "https://pi.pardot.com/api/";
    const SALESFORCE_OAUTH_TOKEN_URL = "https://login.salesforce.com/services/oauth2/token";

    /** @var int $apiVersion */
    private $apiVersion;

    /** @var string $format  */
    private $format;

    public function __construct($apiVersion, $format = 'xml')
    {
        $this->apiVersion = $apiVersion;
        $this->format = $format;
    }

    /**
     * @param string $endpoint
     * @param string $operation
     * @param array $data
     * @param array $headers
     * @param array $queryParams
     * @param bool $useSalesforceOAuth
     * @return array
     * @throws Exception
     */
    public function post($endpoint, $operation, $data = [], $headers = [], $queryParams = [], $useSalesforceOAuth = true)
    {
        $curl_handle = $this->initRequest($endpoint, $operation, $headers, $queryParams, $useSalesforceOAuth);
        curl_setopt($curl_handle, CURLOPT_POST, true);
        // Add POST data if given
        if (!empty($data)) {
            curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $data);
        }

        return $this->executeCall($curl_handle);
    }

    /**
     * @param string $endpoint
     * @param string $operation
     * @param array $headers
     * @param array $queryParams
     * @param bool $useSalesforceOAuth
     * @return array
     * @throws Exception
     */
    public function get($endpoint, $operation, $headers = [], $queryParams = [], $useSalesforceOAuth = true)
    {
        $curl_handle = $this->initRequest($endpoint, $operation, $headers, $queryParams, $useSalesforceOAuth);

        return $this->executeCall($curl_handle);
    }

    /**
     * @param string $endpoint
     * @param string $operation
     * @param array $headers
     * @param array $queryParams
     * @param bool $useSalesforceOAuth
     * @return false|resource
     */
    private function initRequest($endpoint, $operation, $headers = [], $queryParams = [], $useSalesforceOAuth = true)
    {
        // Construct our full URL to the Pardot API
        $url = $this->buildUrl($endpoint, $operation, $useSalesforceOAuth);
        // Add desired format to any query string params provided
        $queryParams['format'] = $this->format;
        // Build query string params into an encoded string
        $queryString = http_build_query($queryParams, null, '&');
        $queryString = str_replace('%5B0%5D%5B0%5D','',$queryString);
        // Append query string params to URL
        $url .= "?{$queryString}";

        // Init curl handle and set standard curl options: timeouts / require SSL / verify SSL
        $curl_handle = curl_init($url);
        curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 5);
        curl_setopt($curl_handle, CURLOPT_TIMEOUT, 30);
        curl_setopt($curl_handle, CURLOPT_PROTOCOLS, CURLPROTO_HTTPS);
        curl_setopt($curl_handle, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);

        // Add any headers passed in such as Authorization header
        if (!empty($headers)) {
            curl_setopt($curl_handle, CURLOPT_HTTPHEADER, $headers);
        }

        return $curl_handle;
    }

    /**
     * @param string $endpoint
     * @param string $operation
     * @param bool $useSalesforceOAuth
     * @return string
     */
    private function buildUrl($endpoint, $operation = "", $useSalesforceOAuth = true)
    {
        if ($endpoint === 'login') {
            if ($useSalesforceOAuth) {
                return self::SALESFORCE_OAUTH_TOKEN_URL;
            } else {
                return self::BASE_URL . "login";
            }
        }

        return self::BASE_URL . "{$endpoint}/version/{$this->apiVersion}/do/{$operation}";
    }

    /**
     * @param $curl_handle
     * @return array
     * @throws Exception
     */
    private function executeCall($curl_handle)
    {
        // Execute our call to the Pardot API
        $rsp = curl_exec($curl_handle);
        // Gather the HTTP response code and last effective URL called
        $httpCode = curl_getinfo($curl_handle, CURLINFO_HTTP_CODE);
        $url = curl_getinfo($curl_handle, CURLINFO_EFFECTIVE_URL);

        // Handle errors in calls, this could be a log or an exception thrown as written here
        if (!$rsp) {
            $errorMessage = curl_error($curl_handle);
            curl_close($curl_handle);
            throw new Exception("Error calling API. HTTP Code: {$httpCode}. Message: {$errorMessage}");
        }
        curl_close($curl_handle);

        // Output call response for informational purposes
        /*
        echo ("URL: {$url}" . PHP_EOL);
        echo ("HTTP Response Code: {$httpCode}" . PHP_EOL);
        echo ("Response: {$rsp}" . PHP_EOL . PHP_EOL);
        */

        return [$httpCode, $rsp];
    }

    /**
     * Use Pardot API using Api Key and User Key - No longer available
     */
    /*
    public function executeRequestsWithApiKeys()
    {
        // Setup user credentials
        $credentials = [
            'user_key' => '60ef081ba86770e2a43d0a14a1d45029',
            'email' => 'revenuewell@2x.marketing',
            'password' => '2XMarketing2020!'
        ];

        // Authenticate to Pardot - Must be a POST with credentials in the message body
        list($httpCode, $rsp) = $this->post('login', '', $credentials, null, [], false);
        // Capture the api_key from a successful login response
        // api_key is good for 1 hour and can be reused on subsequent calls
        $apiKey = json_decode($rsp, true)['api_key'];

        // Create Authorization Header from api_key
        $authHeader = ["Authorization: Pardot user_key={$credentials['user_key']},api_key={$apiKey}"];

        $strSQL = "select MAX(_pardotID) from pardot_prospect";
        $prevMax = getArrayResult($strSQL);
        if (empty($prevMax)) {
            $prevMax = 0;
        }

        // Call Prospect Query
        $params = array(
            'limit'=>200, 
            'id_greater_than'=>$prevMax, 
            'sort_by'=>'id', 
            'sort_order' => 'ascending'
        );
        
        list($httpCode, $rsp) = $this->get('prospect', 'query', $authHeader, $params);

        return $rsp;
    }
    */

    /**
     * Use Pardot API with a SSO user.
     * Getting the access token and using that to use the Pardot API.
     */
    public function executeRequestsWithSalesforceOAuth()
    {
        // Setup user credentials
        /*
        $credentials = [
            "grant_type" => "password",
            "client_id" => "<your_client_id>",
            "client_secret" => "<your_client_secert>",
            "username" => "<your_salesforce_email>",
            "password" => "<your_password>"
        ];
        */
        $credentials = [
            "grant_type" => "password",
            "client_id" => "3MVG9A2kN3Bn17hviVFf.TwbV0egtvohywPyVe4llySiHm57NrpLQycbSQuG85UU_y6Pl3fnpJAFd6Z5X3PoY",
            "client_secret" => "587BDBE3AC3A047E2B6B33C82033C65D0C5CBC90DE76BFF5D94E64A064749F8A",
            "username" => "ashli.tan@2x.marketing",
            "password" => '2xWG$a126'
        ];

        //$pardot_business_unit_id = "<Pardot_business_unit_id>";
        $pardot_business_unit_id = "0Uv5A000000006dSAA";

        // Authenticate to Salesforce - Must be a POST with credentials in the message body
        list($httpCode, $rsp) = $this->post('login', '', $credentials, null, [], true);
        //var_dump($rsp);

        // Capture the access_token from a successful login response
        $access_token = json_decode($rsp, true)['access_token'];

        // Create Authorization Header from access_token and business unit
        $authHeader = ["Authorization: Bearer {$access_token}", "Pardot-Business-Unit-Id: {$pardot_business_unit_id}"];

        $strSQL = "select MAX(_updatedAt) from pardot_prospect";
        $prevMax = getArrayResult($strSQL);
        if (empty($prevMax)) {
            $prevMax = '2021-01-01 00:00:00';
        }

        // Call Prospect Query
        $params = array(
            'limit'=>200, 
            'updated_after'=>$prevMax, 
            'sort_by'=>'updated_at', 
            'sort_order' => 'ascending'
        );

/*      Test
        $params = array(
            'limit'=>200, 
            'updated_after'=>'yesterday',
            'sort_by'=>'id', 
            'sort_order' => 'descending',
            'offset' => 200
        );
*/
        // Call Prospect Query
        //list($httpCode, $rsp) = $this->get('prospect', 'query', $authHeader, ['limit' => 1]);
        list($httpCode, $rsp) = $this->get('prospect', 'query', $authHeader, $params);

        /*
        // Call VisitorActivity Query
        list($httpCode, $rsp) = $this->get('visitorActivity', 'query', $authHeader, ['limit' => 1]);
        var_dump($rsp);
        
        // Create a Campaign
        list($httpCode, $rsp) = $this->post(
            'campaign',
            'create',
            ['name' => 'A Campaign', 'cost' => 100],
            $authHeader
        );
        */
        return $rsp;
    }
}

$start = time();

// Prepare to call version 3 or 4 of the API with JSON or XML responses
$client = new QueryProspectPardotApiClient(4, 'json');

// Authenticate to Pardot - Using API Keys
//$rsp = $client->executeRequestsWithApiKeys();
$rsp = $client->executeRequestsWithSalesforceOAuth();

$rspArray = json_decode($rsp, true);

if ($debug) {
    var_dump($rsp);
}

$totalAffected = 0;

$result = $rspArray['result'];
$prospects = $result['prospect'];

foreach ($prospects as $p) {
    $pardotID = $p['id'];
    $campaignID = $p['campaign_id'];
    $salutation = $objConn->real_escape_string($p['salutation']);
    $firstName = $objConn->real_escape_string($p['first_name']);
    $lastName = $objConn->real_escape_string($p['last_name']);
    $email = $objConn->real_escape_string($p['email']);
    $companyName = $objConn->real_escape_string($p['company']);
    $companyWebsite = $objConn->real_escape_string($p['website']);
    $title = $objConn->real_escape_string($p['job_title']);
    $department = $objConn->real_escape_string($p['department']);
    $country = $objConn->real_escape_string($p['country']);
    $address = $objConn->real_escape_string($p['address_one']);
    $addressTwo = $objConn->real_escape_string($p['address_two']);
    $city = $objConn->real_escape_string($p['city']);
    $state = $objConn->real_escape_string($p['state']);
    $territory = $objConn->real_escape_string($p['territory']);
    $zip = $objConn->real_escape_string($p['zip']);
    $phone = $objConn->real_escape_string($p['phone']);
    $fax = $objConn->real_escape_string($p['fax']);
    $source = $objConn->real_escape_string($p['source']);
    $revenue = $objConn->real_escape_string($p['annual_revenue']);
    $employees = $objConn->real_escape_string($p['employees']);
    $industry = $objConn->real_escape_string($p['industry']);
    $yearsInBusiness = $objConn->real_escape_string($p['years_in_business']);
    $comments = $objConn->real_escape_string($p['comments']);
    $notes = $objConn->real_escape_string($p['notes']);
    $score = $objConn->real_escape_string($p['score']);
    $grade = $objConn->real_escape_string($p['grade']);
    $lastActivityAt = $objConn->real_escape_string($p['last_activity_at']);
    $recentInteraction = $objConn->real_escape_string($p['recent_interaction']);
    $crmLeadID = $objConn->real_escape_string($p['crm_lead_fid']);
    $crmContactID = $objConn->real_escape_string($p['crm_contact_fid']);
    $crmOwnerID = $objConn->real_escape_string($p['crm_owner_fid']);
    $crmAccountID = $objConn->real_escape_string($p['crm_account_fid']);
    $salesforceID = $objConn->real_escape_string($p['salesforce_fid']);
    $crmLastSync = $objConn->real_escape_string($p['crm_last_sync']);
    $crmURL = $objConn->real_escape_string($p['crm_url']);
    $doNotEmail = $objConn->real_escape_string($p['is_do_not_email']);
    $doNotCall = $objConn->real_escape_string($p['is_do_not_call']);
    $optedOut = $objConn->real_escape_string($p['opted_out']);
    $reviewed = $objConn->real_escape_string($p['is_reviewed']);
    $starred = $objConn->real_escape_string($p['is_starred']);
    $createdAt = $objConn->real_escape_string($p['created_at']);
    $updatedAt = $objConn->real_escape_string($p['updated_at']);

    $campaignName = isset($p['campaign']['name']) ? $objConn->real_escape_string($p['campaign']['name']) : '';
    $campaignCRMID = isset($p['campaign']['crm_fid']) ? $objConn->real_escape_string($p['campaign']['crm_fid']) : '';

    $assignedTo = isset($p['assigned_to']['email']) ? $objConn->real_escape_string($p['assigned_to']['email']) : '';

    $numOfEmployersYouAreWorkingWith = $objConn->real_escape_string($p['Of_Employers_You_Are_Working_With']);
    $prospectID = $objConn->real_escape_string($p['Custom_2X_Prospect_ID']);
    $accountRecordType = $objConn->real_escape_string($p['Account_Record_Type']);
    $classification = $objConn->real_escape_string($p['Classification']);
    $companyCity = $objConn->real_escape_string($p['Company_City']);
    $companyCountry = $objConn->real_escape_string($p['Company_Country']);
    $companyState = $objConn->real_escape_string($p['Company_State']);
    $companyStreetAddress = $objConn->real_escape_string($p['Company_Street_Address']);
    $companyZipCode = $objConn->real_escape_string($p['Company_Zip_Code']);
    $contactUsFormMessage = $objConn->real_escape_string($p['Contact_Us_Form_Message']);
    $firstClassification = $objConn->real_escape_string($p['First_Classification']);
    $firstUTMSource = $objConn->real_escape_string($p['First_UTM_Source']);
    $formIsFilledOut = $objConn->real_escape_string($p['Form_is_Filled_Out']);
    $fundingOption = $objConn->real_escape_string($p['Funding_Option_For_Most_Employers']);
    $immediateParentCity = $objConn->real_escape_string($p['Immediate_Parent_City']);
    $immediateParentCountry = $objConn->real_escape_string($p['Immediate_Parent_Country']);
    $immediateParentID = $objConn->real_escape_string($p['Immediate_Parent_ID']);
    $immediateParentName = $objConn->real_escape_string($p['Immediate_Parent_Name']);
    $immediateParentState = $objConn->real_escape_string($p['Immediate_Parent_State']);
    $immediateParentStreet = $objConn->real_escape_string($p['Immediate_Parent_Street']);
    $immediateParentZIP = $objConn->real_escape_string($p['Immediate_Parent_ZIP']);
    $latestClassification = $objConn->real_escape_string($p['Latest_Classification']);
    $latestUTMSource = $objConn->real_escape_string($p['Latest_UTM_Source']);
    $leadStatus = $objConn->real_escape_string($p['Lead_Status']);
    $paretoBroker = $objConn->real_escape_string($p['name_your_Pareto_Broker']);
    $ndaSigned = $objConn->real_escape_string($p['NDA_Signed']);
    $optInDate = $objConn->real_escape_string($p['Opt_In_Date']);
    $prospectClassification = $objConn->real_escape_string($p['Prospect_Classification']);
    $prospectClassificationChangeDate = $objConn->real_escape_string($p['Prospect_Classification_Change_Date']);
    $prospectRecordType = $objConn->real_escape_string($p['Prospect_Record_Type']);
    $rampUpDrips = $objConn->real_escape_string($p['Ramp_up_Drips']);
    $resourcesUserRole = $objConn->real_escape_string($p['Resources_User_Role']);
    $surveyFilledOut = $objConn->real_escape_string($p['Survey_is_Filled_Out']);
    $ultimateParentCity = $objConn->real_escape_string($p['Ultimate_Parent_City']);
    $ultimateParentCountry = $objConn->real_escape_string($p['Ultimate_Parent_Country']);
    $ultimateParentID = $objConn->real_escape_string($p['Ultimate_Parent_ID']);
    $ultimateParentName = $objConn->real_escape_string($p['Ultimate_Parent_Name']);
    $ultimateParentState = $objConn->real_escape_string($p['Ultimate_Parent_State']);
    $ultimateParentStreet = $objConn->real_escape_string($p['Ultimate_Parent_Street']);
    $ultimateParentZip = $objConn->real_escape_string($p['Ultimate_Parent_Zip']);
    $experienceWithCaptive = $objConn->real_escape_string($p['Your_Experience_With_The_Captive_Model']);
    $zoomRegistrationQuestions = $objConn->real_escape_string($p['Zoom_Registration_Questions']);
    $zoomRegistrationData = $objConn->real_escape_string($p['Zoom_Webinar_Registration_Data']);
    $zoomRVP = $objConn->real_escape_string($p['Zoom_Who_is_Your_RVP']);
    $zoomBrokerOrEmployer = $objConn->real_escape_string($p['Zoom_Are_you_a_Broker_or_Employer']);
    $zoomInfoCompanyID = $objConn->real_escape_string($p['ZoomInfo_Company_ID']);
    $zoomInfoContactID = $objConn->real_escape_string($p['ZoomInfo_Contact_ID']);
    $contactLocationID = $objConn->real_escape_string($p['Contact_Location_ID']);
    

    $strSQL = "INSERT INTO pardot_prospect(_pardotID,
    _campaignID,
    _salutation,
    _firstName,
    _lastName,
    _email,
    _companyName,
    _companyWebsite,
    _title,
    _department,
    _country,
    _address,
    _addressTwo,
    _city,
    _state,
    _territory,
    _zip,
    _phone,
    _fax,
    _source,
    _revenue,
    _employees,
    _industry,
    _yearsInBusiness,
    _comments,
    _notes,
    _score,
    _grade,
    _lastActivityAt,
    _recentInteraction,
    _crmLeadID,
    _crmContactID,
    _crmOwnerID,
    _crmAccountID,
    _salesforceID,
    _crmLastSync,
    _crmURL,
    _doNotEmail,
    _doNotCall,
    _optedOut,
    _reviewed,
    _starred,
    _createdAt,
    _updatedAt,
    _campaignName,
    _campaignCRMID,
    _assignedTo,
    _numOfEmployersYouAreWorkingWith,
    _2xProspectID,
    _accountRecordType,
    _classification,
    _companyCity,
    _companyCountry,
    _companyState,
    _companyStreetAddress,
    _companyZipCode,
    _contactUsFormMessage,
    _firstClassification,
    _firstUTMSource,
    _formIsFilledOut,
    _fundingOption,
    _immediateParentCity,
    _immediateParentCountry,
    _immediateParentID,
    _immediateParentName,
    _immediateParentState,
    _immediateParentStreet,
    _immediateParentZIP,
    _latestClassification,
    _latestUTMSource,
    _leadStatus,
    _paretoBroker,
    _ndaSigned,
    _optInDate,
    _prospectClassification,
    _prospectClassificationChangeDate,
    _prospectRecordType,
    _rampUpDrips,
    _resourcesUserRole,
    _surveyFilledOut,
    _ultimateParentCity,
    _ultimateParentCountry,
    _ultimateParentID,
    _ultimateParentName,
    _ultimateParentState,
    _ultimateParentStreet,
    _ultimateParentZip,
    _experienceWithCaptive,
    _zoomRegistrationQuestions,
    _zoomRegistrationData,
    _zoomRVP,
    _zoomBrokerOrEmployer,
    _zoomInfoCompanyID,
    _zoomInfoContactID,
    _contactLocationID)
    VALUES('$pardotID',
    '$campaignID',
    '$salutation',
    '$firstName',
    '$lastName',
    '$email',
    '$companyName',
    '$companyWebsite',
    '$title',
    '$department',
    '$country',
    '$address',
    '$addressTwo',
    '$city',
    '$state',
    '$territory',
    '$zip',
    '$phone',
    '$fax',
    '$source',
    '$revenue',
    '$employees',
    '$industry',
    '$yearsInBusiness',
    '$comments',
    '$notes',
    '$score',
    '$grade',
    '$lastActivityAt',
    '$recentInteraction',
    '$crmLeadID',
    '$crmContactID',
    '$crmOwnerID',
    '$crmAccountID',
    '$salesforceID',
    '$crmLastSync',
    '$crmURL',
    '$doNotEmail',
    '$doNotCall',
    '$optedOut',
    '$reviewed',
    '$starred',
    '$createdAt',
    '$updatedAt',
    '$campaignName',
    '$campaignCRMID',
    '$assignedTo',
    '$numOfEmployersYouAreWorkingWith',
    '$prospectID',
    '$accountRecordType',
    '$classification',
    '$companyCity',
    '$companyCountry',
    '$companyState',
    '$companyStreetAddress',
    '$companyZipCode',
    '$contactUsFormMessage',
    '$firstClassification',
    '$firstUTMSource',
    '$formIsFilledOut',
    '$fundingOption',
    '$immediateParentCity',
    '$immediateParentCountry',
    '$immediateParentID',
    '$immediateParentName',
    '$immediateParentState',
    '$immediateParentStreet',
    '$immediateParentZIP',
    '$latestClassification',
    '$latestUTMSource',
    '$leadStatus',
    '$paretoBroker',
    '$ndaSigned',
    '$optInDate',
    '$prospectClassification',
    '$prospectClassificationChangeDate',
    '$prospectRecordType',
    '$rampUpDrips',
    '$resourcesUserRole',
    '$surveyFilledOut',
    '$ultimateParentCity',
    '$ultimateParentCountry',
    '$ultimateParentID',
    '$ultimateParentName',
    '$ultimateParentState',
    '$ultimateParentStreet',
    '$ultimateParentZip',
    '$experienceWithCaptive',
    '$zoomRegistrationQuestions',
    '$zoomRegistrationData',
    '$zoomRVP',
    '$zoomBrokerOrEmployer',
    '$zoomInfoCompanyID',
    '$zoomInfoContactID',
    '$contactLocationID')
    ON DUPLICATE KEY UPDATE _campaignID='$campaignID',
    _salutation='$salutation',
    _firstName='$firstName',
    _lastName='$lastName',
    _email='$email',
    _companyName='$companyName',
    _companyWebsite='$companyWebsite',
    _title='$title',
    _department='$department',
    _country='$country',
    _address='$address',
    _addressTwo='$addressTwo',
    _city='$city',
    _state='$state',
    _territory='$territory',
    _zip='$zip',
    _phone='$phone',
    _fax='$fax',
    _source='$source',
    _revenue='$revenue',
    _employees='$employees',
    _industry='$industry',
    _yearsInBusiness='$yearsInBusiness',
    _comments='$comments',
    _notes='$notes',
    _score='$score',
    _grade='$grade',
    _lastActivityAt='$lastActivityAt',
    _recentInteraction='$recentInteraction',
    _crmLeadID='$crmLeadID',
    _crmContactID='$crmContactID',
    _crmOwnerID='$crmOwnerID',
    _crmAccountID='$crmAccountID',
    _salesforceID='$salesforceID',
    _crmLastSync='$crmLastSync',
    _crmURL='$crmURL',
    _doNotEmail='$doNotEmail',
    _doNotCall='$doNotCall',
    _optedOut='$optedOut',
    _reviewed='$reviewed',
    _starred='$starred',
    _createdAt='$createdAt',
    _updatedAt='$updatedAt',
    _campaignName='$campaignName',
    _campaignCRMID='$campaignCRMID',
    _assignedTo='$assignedTo',
    _numOfEmployersYouAreWorkingWith='$numOfEmployersYouAreWorkingWith',
    _2xProspectID='$prospectID',
    _accountRecordType='$accountRecordType',
    _classification='$classification',
    _companyCity='$companyCity',
    _companyCountry='$companyCountry',
    _companyState='$companyState',
    _companyStreetAddress='$companyStreetAddress',
    _companyZipCode='$companyZipCode',
    _contactUsFormMessage='$contactUsFormMessage',
    _firstClassification='$firstClassification',
    _firstUTMSource='$firstUTMSource',
    _formIsFilledOut='$formIsFilledOut',
    _fundingOption='$fundingOption',
    _immediateParentCity='$immediateParentCity',
    _immediateParentCountry='$immediateParentCountry',
    _immediateParentID='$immediateParentID',
    _immediateParentName='$immediateParentName',
    _immediateParentState='$immediateParentState',
    _immediateParentStreet='$immediateParentStreet',
    _immediateParentZIP='$immediateParentZIP',
    _latestClassification='$latestClassification',
    _latestUTMSource='$latestUTMSource',
    _leadStatus='$leadStatus',
    _paretoBroker='$paretoBroker',
    _ndaSigned='$ndaSigned',
    _optInDate='$optInDate',
    _prospectClassification='$prospectClassification',
    _prospectClassificationChangeDate='$prospectClassificationChangeDate',
    _prospectRecordType='$prospectRecordType',
    _rampUpDrips='$rampUpDrips',
    _resourcesUserRole='$resourcesUserRole',
    _surveyFilledOut='$surveyFilledOut',
    _ultimateParentCity='$ultimateParentCity',
    _ultimateParentCountry='$ultimateParentCountry',
    _ultimateParentID='$ultimateParentID',
    _ultimateParentName='$ultimateParentName',
    _ultimateParentState='$ultimateParentState',
    _ultimateParentStreet='$ultimateParentStreet',
    _ultimateParentZip='$ultimateParentZip',
    _experienceWithCaptive='$experienceWithCaptive',
    _zoomRegistrationQuestions='$zoomRegistrationQuestions',
    _zoomRegistrationData='$zoomRegistrationData',
    _zoomRVP='$zoomRVP',
    _zoomBrokerOrEmployer='$zoomBrokerOrEmployer',
    _zoomInfoCompanyID='$zoomInfoCompanyID',
    _zoomInfoContactID='$zoomInfoContactID',
    _contactLocationID='$contactLocationID';
    ";

    $objConn->query($strSQL);

    $affected = $objConn->affected_rows;
    if ($affected > 0) {
        $totalAffected++;
    }

    if ($debug) {
        echo $strSQL . '<br/>';
        echo 'inserted = ' . $affected . '<br/><br/>';
    }
    
}



echo 'Total insert / updated: ' . $totalAffected . '<br/>';
echo 'Time spent: ' . (time() - $start);
// Authenticate to Pardot - Using Salesforce OAuth
//$client->executeRequestsWithSalesforceOAuth();

if ((sizeof($prospects) > 0) && $reload) {
?>    

<script type = "text/javascript">
window.onload=location.reload();
</script>

<?php
}
?>
