@extends('layouts.app', ['title' => __tr('Campaign Status')]) @section('content') @include('users.partials.header', [ 'title' => __tr('Campaign Dashboard'), 'description' => '', 'class' => 'col-lg-7' ]) @php $campaignData = $campaign->__data; $selectedGroups = is_array(Arr::get($campaignData, 'selected_groups', [])) ? Arr::get($campaignData, 'selected_groups', []) : []; $isRestrictByTemplateContactLanguage = Arr::get($campaignData, 'is_for_template_language_only'); $isAllContacts = Arr::get($campaignData, 'is_all_contacts'); $messageLog = $campaign->messageLog; $queueMessages = $campaign->queueMessages; $campaignUid=$campaign->_uid; $totalContacts = (int) Arr::get($campaignData, 'total_contacts'); $totalRead = $messageLog->where('status', 'read')->count(); $totalDelivered = $messageLog->where('status', 'delivered')->count(); $totalFailed = $queueMessages->where('status', 2)->count() + $messageLog->where('status', 'failed')->count(); $totalAccepted = $messageLog->where('status', 'accepted')->count(); $totalProcessing = $queueMessages->where('status', 3)->count(); $totalWaiting = $queueMessages->where('status', 1)->count(); $totalSent = $messageLog->where('status', 'sent')->count(); $totalProcessed = $totalSent + $totalRead + $totalDelivered + $totalAccepted + $totalFailed + $totalProcessing; // Calculate percentages only if there are contacts $totalReadInPercent = $totalContacts > 0 ? round(($totalRead / $totalContacts) * 100, 2) . '%' : '0%'; $totalDeliveredInPercent = $totalContacts > 0 ? round((($totalDelivered + $totalRead) / $totalContacts) * 100, 2) . '%' : '0%'; $totalFailedInPercent = $totalContacts > 0 ? round(($totalFailed / $totalContacts) * 100, 2) . '%' : '0%'; $totalAcceptedInPercent = $totalContacts > 0 ? round(($totalAccepted / $totalContacts) * 100, 2) . '%' : '0%'; $totalProcessingInPercent = $totalContacts > 0 ? round(($totalProcessing / $totalContacts) * 100, 2) . '%' : '0%'; $totalWaitingInPercent = $totalContacts > 0 ? round(($totalWaiting / $totalContacts) * 100, 2) . '%' : '0%'; $totalSentInPercent = $totalContacts > 0 ? round(($totalSent / $totalContacts) * 100, 2) . '%' : '0%'; // Calculate the total percentage of processed messages $totalProcessedInPercent = $totalContacts > 0 ? round(($totalProcessed / $totalContacts) * 100, 2) . '%' : '0%'; // Ensure we don't count delivered messages twice $totalDeliveredCount = $totalDelivered + $totalRead; @endphp
@if ($isAllContacts) {{ __tr('All contacts ') }} @else {{ __tr('All contacts from: ') }} @if(is_array($selectedGroups)) @foreach ($selectedGroups as $selectedGroup) @if(is_array($selectedGroup) && isset($selectedGroup['title'])) {{ $selectedGroup['title'] }} @endif @endforeach @endif {{ __tr(' groups.') }} @endif @if ($isRestrictByTemplateContactLanguage) {!! __tr('Excluding those contacts which don\'t have __languageCode__ language', [ '__languageCode__' => "". e($campaign->template_language) ."" ]) !!} @endif
{{ __tr('Messages') }}
{{ __tr('Contacts') }}
{{ __tr('Contacts') }}
{{ __tr('Messages') }}
{{ __tr('Messages') }}
{{ __tr('Contacts') }}
{{ __tr('Messages') }}