acym_translation('ACYM_MENU_ARCHIVE_DESC')] ); } public function form($instance) { require_once(rtrim(dirname(dirname(__DIR__)), DS).DS.'back'.DS.'helpers'.DS.'helper.php'); $params = [ 'title' => 'See all newsletters', 'nbNewsletters' => '5', ]; foreach ($params as $keyParam => &$valueParam) { if (isset($instance[$keyParam])) { $valueParam = $instance[$keyParam]; } $valueParam = esc_attr($valueParam); } echo '
'; echo '

'; echo '

'.acym_translation_sprintf("ACYM_LAST_X_NEWSLETTERS", '').'

'; echo '
'; } public function widget($args, $instance) { require_once(rtrim(dirname(dirname(__DIR__)), DIRECTORY_SEPARATOR).DIRECTORY_SEPARATOR.'back'.DIRECTORY_SEPARATOR.'helpers'.DIRECTORY_SEPARATOR.'helper.php'); acym_addScript(false, ACYM_JS.'front/frontarchive.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'front'.DS.'frontarchive.min.js')); acym_addScript(false, ACYM_JS.'front_global.min.js?v='.filemtime(ACYM_MEDIA.'js'.DS.'front_global.min.js')); acym_addStyle(false, ACYM_CSS.'front_global.min.css?v='.filemtime(ACYM_MEDIA.'css'.DS.'front_global.min.css')); $title = apply_filters('widget_title', $instance['title']); $campaignClass = acym_get('class.campaign'); $userClass = acym_get('class.user'); $nbNewsletters = $instance['nbNewsletters']; $currentUser = $userClass->identify(true); $params = []; if (!empty($currentUser)) { $params['userId'] = $currentUser->id; } $params['limit'] = $nbNewsletters >= 1 && $nbNewsletters <= 20 ? $nbNewsletters : 5; $lastsNewsletters = $campaignClass->getLastNewsletters($params); $matchingNewsletters = $lastsNewsletters['matchingNewsletters']; echo $args['before_widget'].$args['before_title'].$title.$args['after_title']; echo '
'; foreach ($matchingNewsletters as $oneNewsletter) { echo '

'.$oneNewsletter->subject.'

'; echo ''; } echo '
'; echo $args['after_widget']; } }