If you use BreezingForms on your website, you can integrate AcyMailing withBreezingForms so that when a user submits a form, this user is also subscribed to one or several AcyMailing Lists.
Integration with BreezingForms
You should first create your form and save it.
QuickMode
If you're using the QuickMode click on the More options link in the Advanced Tab.
EasyMode or ClassicMode
If you're using the EasyMode or ClassicMode click on the Form settings Button.
Add the subscription code in your form
Once clicked on the link/button, a popup will appear.
Click on the Submit Pieces link and in the End Submit area, click on the Custom choice
$this->execPieceByName('ff_InitLib');
include_once(rtrim(JPATH_ADMINISTRATOR,DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_acymailing'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php');
$myUser = new stdClass();
$myUser->email = strip_tags(ff_getSubmit('email_field')); //Please replace email_field by your own field name (the name of the field "email").
$myUser->name = strip_tags(ff_getSubmit('name_field')); //Please replace name_field by your own field name (the name of the field "name").
$subscriberClass = acymailing_get('class.subscriber');
$subid = $subscriberClass->save($myUser);
$subscriberClass->sendConf($subid); //we send the confirmation email... only if needed based on the current user status and the option from the Acy configuration page.
$subscribe = array(3,4,5); //Specify here the ID of your lists separated by a comma, in this example the user will be subscribed to lists IDs 3,4 and 5.
$newSubscription = array();
if(!empty($subscribe)){
foreach($subscribe as $listId){
$newList = array();
$newList['status'] = 1;
$newSubscription[$listId] = $newList;
}
}
$subscriberClass->saveSubscription($subid,$newSubscription);
Please make sure to replace the fields name based on your form configuration and enter the IDs of your own lists.
Subscribe the user only if the user checks the box
You can create a checkbox on your form and then only subscribe the user if he checks that box.
Please add this part only if the previous code works fine.
Once your checkbox created (let's call the checkbox "subscribeme" ), add this code at the top of the previous code: