Initial commit

This commit is contained in:
gustavooth
2026-07-23 22:56:30 -03:00
commit 22a1006598
1816 changed files with 410742 additions and 0 deletions
@@ -0,0 +1,63 @@
<?php
namespace FluentCrm\App\Services\Funnel\Actions;
use FluentCrm\App\Models\Subscriber;
use FluentCrm\App\Services\Funnel\BaseAction;
use FluentCrm\App\Services\Funnel\FunnelHelper;
class ApplyCompanyAction extends BaseAction
{
public function __construct()
{
$this->actionName = 'add_contact_to_company';
$this->priority = 20;
parent::__construct();
}
public function getBlock()
{
return [
'category' => __('CRM', 'fluent-crm'),
'title' => __('Apply Company', 'fluent-crm'),
'description' => __('Add contact to the selected company', 'fluent-crm'),
'icon' => 'fc-icon-apply_list',//fluentCrmMix('images/funnel_icons/apply_list.svg'),
'settings' => [
'company' => null
]
];
}
public function getBlockFields()
{
return [
'title' => __('Apply Company to the contact', 'fluent-crm'),
'sub_title' => __('Select which list will be added to the contact', 'fluent-crm'),
'fields' => [
'company' => [
'type' => 'option_selectors',
'option_key' => 'companies',
'label' => __('Select Company', 'fluent-crm'),
'placeholder' => __('Select Company', 'fluent-crm')
]
]
];
}
public function handle($subscriber, $sequence, $funnelSubscriberId, $funnelMetric)
{
if (empty($sequence->settings['company'])) {
FunnelHelper::changeFunnelSubSequenceStatus($funnelSubscriberId, $sequence->id, 'skipped');
return;
}
$company = $sequence->settings['company'];
$renewedSubscriber = Subscriber::where('id', $subscriber->id)->first();
if (!$renewedSubscriber) {
FunnelHelper::changeFunnelSubSequenceStatus($funnelSubscriberId, $sequence->id, 'skipped');
return;
}
$renewedSubscriber->attachCompanies([$company]);
}
}