make Acajoom CB plugin save subscriptions on registration page

CB 1.2.2
Acajoom 5.1.0
CB plugin for Acajoom 1.2

file: components/com_comprofiler/plugin/user/plug_acajoomcbplugin/acajoom_cb.php

find the function saveRegistrationTab()

function saveRegistrationTab($tab, &$user, $ui, $postdata) {

global $ueConfig;


require_once(ACA_JPATH_ROOT_NO_ADMIN . '/administrator/components/com_acajoom/classes/class.acajoom.php');
$erro = new xerr( __FILE__ , __FUNCTION__ );

if ($user->user_id >0 ) {


$erro->ck = subscribers::updateOneSubscriber($user->user_id, $user );

if (!$erro->Eck(__LINE__ ,  '7002')    ) {

$this->_setErrorMSG(_ACA_ERROR);

return;
}

}

return;
}


replace by:

function saveRegistrationTab($tab, &$user, $ui, $postdata) {
/*
global $ueConfig;

require_once(ACA_JPATH_ROOT_NO_ADMIN . '/administrator/components/com_acajoom/classes/class.acajoom.php');
$erro = new xerr( __FILE__ , __FUNCTION__ );

if ($user->user_id >0 ) {


$erro->ck = subscribers::updateOneSubscriber($user->user_id, $user );

if (!$erro->Eck(__LINE__ ,  '7002')    ) {

$this->_setErrorMSG(_ACA_ERROR);

return;
}

}

*/        

//get subscriptions from form as array

$subscriptions = JRequest::getVar('subscribed', null, 'post', 'array');        
$subscriptions_temp = array();
while($subscription = each($subscriptions)){            
$subscriptions_temp[] = $subscription['key'];    
}

//if there are any subscriptions

if(count($subscriptions_temp)){


$user_id = $user->user_id;

$username = $user->username;
$email = $user->email;

//add user as subscriber

$database = JFactory::getDBO();                
$database->setQuery( "INSERT INTO #__acajoom_subscribers SET user_id='$user_id', name='$username', email='$email', receive_htm='1', confirmed='1', params='' ");
$database->query();

//get subscribers id

//$subscriber_id = $database->insertid();  don't know why that does not work
$database->setQuery("SELECT id "
."FROM #__acajoom_subscribers "
."WHERE user_id='$user_id' "
."LIMIT 1 "
);
$rows = $database->loadObjectList();
foreach($rows as $row){    
$subscriber_id = $row->id;
}            

//add subscriptions

for($n = 0; $n < count($subscriptions_temp); $n++){
$subscription_id = $subscriptions_temp[$n];
$database->setQuery( "INSERT INTO #__acajoom_queue SET type='1', subscriber_id='$subscriber_id', list_id='$subscription_id' ");
$database->query();
}
}






return;

}
   

SEO by AceSEF