File "SlackNotificationActions.php"
Full Path: /home/romayxjt/public_html/wp-content/plugins/fluentform/app/Services/Integrations/Slack/SlackNotificationActions.php
File size: 1.77 KB
MIME-type: text/x-php
Charset: utf-8
<?php
namespace FluentForm\App\Services\Integrations\Slack;
use FluentForm\App\Helpers\Helper;
use FluentForm\Framework\Foundation\Application;
use FluentForm\Framework\Helpers\ArrayHelper as Arr;
class SlackNotificationActions
{
protected $app = null;
public function __construct(Application $app)
{
$this->app = $app;
// add_filter('fluentform/notifying_async_slack', '__return_false');
}
public function register()
{
add_filter('fluentform/global_notification_active_types', function ($types) {
$isEnabled = Helper::isSlackEnabled();
if ($isEnabled) {
$types['slack'] = 'slack';
}
return $types;
});
add_action('fluentform/integration_notify_slack', [$this, 'notify'], 20, 4);
add_filter('fluentform/get_meta_key_settings_response', function ($response, $formId, $key) {
if ('slack' == $key) {
$formApi = fluentFormApi()->form($formId);
$response['formattedFields'] = array_values($formApi->labels());
}
return $response;
}, 10, 3);
}
public function notify($feed, $formData, $entry, $form)
{
$isEnabled = Helper::isSlackEnabled();
if (! $isEnabled) {
return;
}
$response = Slack::handle($feed, $formData, $form, $entry);
if ('success' === Arr::get($response, 'status')) {
do_action('fluentform/integration_action_result', $feed, 'success',
__('Slack feed has been successfully initialed and pushed data', 'fluentform'));
} else {
$error = Arr::get($response, 'message');
do_action('fluentform/integration_action_result', $feed, 'failed', $error);
}
}
}