diff --git a/lib/Config/Shortcodes.php b/lib/Config/Shortcodes.php index b7e2716eb4..3a3e8f7565 100644 --- a/lib/Config/Shortcodes.php +++ b/lib/Config/Shortcodes.php @@ -1,5 +1,8 @@ count(); + } else { + return SubscriberSegment::whereIn('segment_id', $segment_ids) + ->select('subscriber_id')->distinct() + ->filter('subscribed') + ->findResultSet()->count(); + } + } + + function getArchive($params) { + if(!empty($params['segments'])) { + $segment_ids = array_map(function($segment_id) { + return (int)trim($segment_id); + },explode(',', $params['segments'])); + } + + $newsletters = array(); + $html = ''; + + // TODO: needs more advanced newsletters in order to finish + $newsletters = Newsletter::limit(10)->orderByDesc('created_at')->findMany(); + + if(empty($newsletters)) { + return apply_filters( + 'mailpoet_archive_no_newsletters', + __('Oops! There are no newsletters to display.') + ); + } else { + $title = apply_filters('mailpoet_archive_title', ''); + if(!empty($title)) { + $html .= '

'.$title.'

'; + } + + $html .= ''; + } + return $html; + } + + function renderArchiveDate($newsletter) { + return date_i18n( + get_option('date_format'), + strtotime($newsletter->created_at) + ); + } + + function renderArchiveSubject($newsletter) { + return '' + .esc_attr($newsletter->subject). + ''; + } + } \ No newline at end of file diff --git a/lib/Config/Widget.php b/lib/Config/Widget.php index eeb17ddf29..cb24a7980d 100644 --- a/lib/Config/Widget.php +++ b/lib/Config/Widget.php @@ -1,6 +1,5 @@ count(); } function setupDependencies() { diff --git a/lib/Models/SubscriberSegment.php b/lib/Models/SubscriberSegment.php index 7f2a435239..c538c23602 100644 --- a/lib/Models/SubscriberSegment.php +++ b/lib/Models/SubscriberSegment.php @@ -33,6 +33,10 @@ class SubscriberSegment extends Model { return $orm; } + static function subscribed($orm) { + return $orm->where('status', 'subscribed'); + } + static function createMultiple($segmnets, $subscribers) { $values = Helpers::flattenArray( array_map(function ($segment) use ($subscribers) { diff --git a/views/settings/basics.html b/views/settings/basics.html index e40d98b35f..5b3dfdb5a9 100644 --- a/views/settings/basics.html +++ b/views/settings/basics.html @@ -347,7 +347,7 @@ values = $(this).val() || []; if (values.length > 0) { - shortcode += ' list_id="'; + shortcode += ' segments="'; shortcode += values.join(','); shortcode += '"'; }