Invite affiliate to the campaign after signup

Some customers are interested in inviting affiliates into a campaign after signup automatically. Here is the code that was originally posted at our forum:
<?php
require_once("../api/PapApi.class.php");
 
//----------------------------------------------
// get form data from signup page
$data = (isset($_REQUEST['data']) && !empty($_REQUEST['data']))?$_REQUEST['data']:'';
 
//----------------------------------------------
// create login session for merchant
$session = new Pap_Api_Session("https://www.yoursite.com/pap/scripts/server.php"); // change URL to server.php here
if(!$session->login("merchant@example.com", "password")) { // change login and password here
  die("Cannot login. Message: ".$session->getMessage());
}

//----------------------------------------------
// add new affiliate
$affiliate = new Pap_Api_Affiliate($session);
$affiliate->setUsername($data['username']);
$affiliate->setFirstname($data['firstname']);
$affiliate->setLastname($data['lastname']);
$affiliate->setParentUserId($data['parentuserid']);
$affiliate->setData(23,$data['data23']);
$affiliate->setData(1,$data['data1']);
$affiliate->setData(2,$data['data2']);
$affiliate->setData(3,$data['data3']);
$affiliate->setData(4,$data['data4']);
$affiliate->setData(5,$data['data5']);
$affiliate->setData(6,$data['data6']);
$affiliate->setData(7,$data['data7']);
$affiliate->setData(9,$data['data9']);
$affiliate->setData(10,$data['data10']);

try {
  if ($affiliate->add()) {
      $affiliate->sendConfirmationEmail();
      //echo "Affiliate saved successfully<br>";
  } else {
    die("Cannot save affiliate: ".$affiliate->getMessage());
  }
} catch (Exception $e) {
    die("Error while communicating with PAP: ".$e->getMessage());
}
 
//----------------------------------------------
// get the affiliate by username = (email address)
$affiliate = new Pap_Api_Affiliate($session);
$affiliate->setUsername($data['username']);
try {
  $affiliate->load();
} catch (Exception $e) {
  die("Cannot load record: ".$affiliate->getMessage());
}
 
//-----------------------------------------------
// invite the affiliate to private campaigns
$response = $affiliate->assignToPrivateCampaign($data['a_cid']); // this $data['a_cid'] comes from affiliate signup
if ($response->success == 'Y') {
    echo 'success: ';
    echo $response->infoMessage;
} else {
    echo 'error: ';
    echo $response->errorMessage;
}

$response = $affiliate->assignToPrivateCampaign($data['a_cid0']);
if ($response->success == 'Y') {
    echo 'success: ';
    echo $response->infoMessage;
} else {
    echo 'error: ';
    echo $response->errorMessage;
}

$response = $affiliate->assignToPrivateCampaign($data['a_cid1']);
if ($response->success == 'Y') {
    echo 'success: ';
    echo $response->infoMessage;
} else {
    echo 'error: ';
    echo $response->errorMessage;
}

$response = $affiliate->assignToPrivateCampaign($data['a_cid2']);
if ($response->success == 'Y') {
    echo 'success: ';
    echo $response->infoMessage;
} else {
    echo 'error: ';
    echo $response->errorMessage;
}
?>
Thanks to user dorklogic
×