11 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_headline_html.html5:
--------------------------------------------------------------------------------
1 |
2 | | cssID; ?>style): ?> style="style; ?>">
3 | <hl; ?>>headline; ?>hl; ?>>
4 | |
5 |
6 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_image_plain.html5:
--------------------------------------------------------------------------------
1 | headline): ?>hl; ?> headline; ?> hl; ?>
2 |
3 | [src; ?>]
5 | href): ?>(href; ?>)
7 | caption):
10 | echo $this->caption; ?>
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mod_avisota_list.xhtml:
--------------------------------------------------------------------------------
1 | cssID; ?>style): ?>
2 | style="style; ?>">
3 | list;
5 |
6 | if ($this->total > $this->limit):
7 | $pagination = new Pagination($this->count, $this->limit);
8 | echo $pagination->generate();
9 | endif;
10 | ?>
11 |
--------------------------------------------------------------------------------
/contao/languages/en/avisota_support.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Get support
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/contao/languages/es/avisota_support.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Get support
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/contao/languages/pl/avisota_support.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Get support
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mod_avisota_list.html5:
--------------------------------------------------------------------------------
1 | cssID; ?>style): ?>
2 | style="style; ?>">
3 | list;
5 |
6 | if ($this->total > $this->limit):
7 | $pagination = new Pagination($this->count, $this->limit);
8 | echo $pagination->generate();
9 | endif;
10 | ?>
11 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_gallery_html.html5:
--------------------------------------------------------------------------------
1 |
2 | | cssID; ?>style): ?> style="style; ?>">
3 | headline): ?>
4 |
5 | <hl; ?>>headline; ?>hl; ?>>
6 |
7 | images; ?>
8 |
9 | |
10 |
11 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_hyperlink_plain.html5:
--------------------------------------------------------------------------------
1 | headline): ?>hl; ?> headline; ?> hl; ?>
2 |
3 | embed_pre;
7 | if ($this->href != $this->link):
8 | printf('%s [%s]', $this->link, $this->href);
9 | else:
10 | echo $this->href;
11 | endif;
12 | echo $this->embed_post;
13 | ?>
14 |
15 |
16 |
--------------------------------------------------------------------------------
/contao/languages/ru_RU/avisota_support.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Get support
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mail_plain_default.html5:
--------------------------------------------------------------------------------
1 |
2 | [{{newsletter::href}}]
3 |
4 |
5 | body; ?>
6 |
7 | --------------------------------------------------------------------------------
8 | {{newsletter::unsubscribe::plain}}
9 |
10 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_text_plain.html5:
--------------------------------------------------------------------------------
1 | headline): ?>hl; ?> headline; ?> hl; ?>
2 |
3 | addImage): ?>
6 | [src; ?>]
7 | caption): ?>
8 | (caption; ?>)
9 |
12 | text;
16 | ?>
17 |
--------------------------------------------------------------------------------
/contao/languages/de/avisota_support.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Get support
6 | Hilfe bekommen
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/contao/languages/it/avisota_support.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Get support
6 | Ricevi supporto
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/contao/languages/rm/avisota_support.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Get support
6 | Retschaiva agid
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/contao/templates/avisota/backend/support.html5.twig:
--------------------------------------------------------------------------------
1 |
2 | {{ _lang.avisota_support.headline }}
3 |
13 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_news_plain.html5:
--------------------------------------------------------------------------------
1 | headline)):?>hl; ?> headline; ?> hl; ?>
2 |
3 |
4 | news as $item): ?>
5 | * - ** []
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/contao/dca/_tl_stylepicker4ward.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | // $GLOBALS['TL_HOOKS']['loadDataContainer'][] = array('tl_stylepicker4ward_avisota_callback', 'hookLoadDataContainer');
17 |
--------------------------------------------------------------------------------
/contao/languages/pt_BR/avisota_support.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Get support
6 | Obter suporte
7 |
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mod_avisota_unsubscribe.html5:
--------------------------------------------------------------------------------
1 |
2 | cssID; ?>style): ?>
3 | style="style; ?>">
4 | headline): ?>
5 |
6 | <hl; ?>>headline; ?>hl; ?>>
7 |
8 |
9 | form; ?>
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mod_avisota_subscribe.html5:
--------------------------------------------------------------------------------
1 |
2 |
3 | cssID; ?>style): ?>
4 | style="style; ?>">
5 | headline): ?>
6 |
7 | <hl; ?>>headline; ?>hl; ?>>
8 |
9 |
10 | form; ?>
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_events_plain.html5:
--------------------------------------------------------------------------------
1 | headline)):?>hl; ?> headline; ?> hl; ?>
2 |
3 |
4 | events as $event): ?>
5 | * - ** []
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/contao/dca/_tl_article.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | // Override callback
18 | //$GLOBALS['TL_DCA']['tl_article']['list']['sorting']['paste_button_callback'][0] = 'tl_article_avisota';
19 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mod_avisota_subscription.html5:
--------------------------------------------------------------------------------
1 |
2 |
3 | cssID; ?>style): ?>
4 | style="style; ?>">
5 | headline): ?>
6 |
7 | <hl; ?>>headline; ?>hl; ?>>
8 |
9 |
10 | form; ?>
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mod_avisota_subscription.xhtml:
--------------------------------------------------------------------------------
1 |
2 |
3 | cssID; ?>style): ?>
4 | style="style; ?>">
5 | headline): ?>
6 |
7 | <hl; ?>>headline; ?>hl; ?>>
8 |
9 |
10 | form; ?>
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/avisota_list_default.html5:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/avisota_list_default.xhtml:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mail_subscribe_html_default.html5:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 | title; ?>
8 | head; ?>
9 |
10 |
11 | content ?>
12 |
13 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mail_subscribe_html_default.xhtml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 | title; ?>
8 | head; ?>
9 |
10 |
11 | content ?>
12 |
13 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mail_notification_html_default.html5:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 | title; ?>
8 | head; ?>
9 |
10 |
11 | content ?>
12 |
13 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mail_notification_html_default.xhtml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 | title; ?>
8 | head; ?>
9 |
10 |
11 | content ?>
12 |
13 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mail_unsubscribe_html_default.html5:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 | title; ?>
8 | head; ?>
9 |
10 |
11 | content ?>
12 |
13 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mail_unsubscribe_html_default.xhtml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 | title; ?>
8 | head; ?>
9 |
10 |
11 | content ?>
12 |
13 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nl_gallery_default_plain.html5:
--------------------------------------------------------------------------------
1 | body as $class=>$row):
3 | foreach ($row as $col):
4 | if ($col->addImage):
5 | ?>[src; ?>]
6 | alt): ?>(alt; ?>)
8 | href): ?>(href; ?>)
11 |
14 | caption):
16 | ?>
17 | caption; ?>
18 |
21 |
22 |
--------------------------------------------------------------------------------
/src/Event/PreSendImmediateEvent.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Event;
17 |
18 | /**
19 | * The pre defined immediate event.
20 | */
21 | class PreSendImmediateEvent extends BaseSendImmediateEvent
22 | {
23 | }
24 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mod_avisota_reader.xhtml:
--------------------------------------------------------------------------------
1 | cssID; ?>style): ?>
2 | style="style; ?>">
3 | newsletter): ?>
4 |
newsletter['subject']; ?>
5 |
html; ?>
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/src/Event/CreateFakeRecipientEvent.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Event;
17 |
18 | /**
19 | * Create fake recipient event.
20 | */
21 | class CreateFakeRecipientEvent extends BaseCreateRecipientEvent
22 | {
23 | }
24 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mod_avisota_reader.html5:
--------------------------------------------------------------------------------
1 | cssID; ?>style): ?>
2 | style="style; ?>">
3 | newsletter): ?>
4 | newsletter['subject']; ?>
5 | html; ?>
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_list_plain.html5:
--------------------------------------------------------------------------------
1 | headline): ?>hl; ?> headline; ?> hl; ?>
2 |
3 | listType == 'ordered'):
6 | $index = 0;
7 | else:
8 | $prefix = '• ';
9 | endif;
10 |
11 | foreach ($this->items as $item):
12 | if ($this->listType == 'ordered'):
13 | $index ++;
14 | $prefix = $index . '. ';
15 | endif;
16 |
17 | echo $prefix . str_replace("\n", "\n ", $item) . "\n";
18 | endforeach;
19 | ?>
20 |
21 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de_/avisota_dca.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Avisota dca
19 | */
20 | $GLOBALS['TL_LANG']['avisota_dca']['filteredByMailingList'] = 'Es werden nur Abonnenten der Mailing Liste %s angezeigt! (alle anzeigen)';
21 |
--------------------------------------------------------------------------------
/tests/Test/BackendTest.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Test\Contao\Core;
17 |
18 | /**
19 | * Class BackendTest
20 | *
21 | * @package Avisota\Test\Contao\Core
22 | */
23 | class BackendTest extends \PHPUnit_Framework_TestCase
24 | {
25 | public function testRegenerateDynamics()
26 | {
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/phpunit.xml.dist:
--------------------------------------------------------------------------------
1 |
2 |
12 |
13 |
14 | tests/Test
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/en_/tl_page.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['tl_page']['jumpBack'] = array(
21 | 'Main ',
22 | ' Please select the page that you will be redirected to. If you do not select a target page, you will be automatically forwarded to the parent page.'
23 | );
24 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaTransportException.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaTransportException
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class AvisotaTransportException extends Exception
26 | {
27 | }
28 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_list_html.html5:
--------------------------------------------------------------------------------
1 |
2 | | cssID; ?>style): ?> style="style; ?>">
3 | headline): ?>
4 | <hl; ?>>headline; ?>hl; ?>>
5 |
6 | <tag; ?>>
7 | items as $item): ?>
8 | class="">
9 |
10 | tag; ?>>
11 | |
12 |
13 |
--------------------------------------------------------------------------------
/src/Event/CreatePublicEmptyRecipientEvent.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Event;
17 |
18 | use Avisota\Recipient\RecipientInterface;
19 | use Symfony\Component\EventDispatcher\Event;
20 |
21 | /**
22 | * Create public empty recipient event.
23 | */
24 | class CreatePublicEmptyRecipientEvent extends BaseCreateRecipientEvent
25 | {
26 | }
27 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_article_teaser_html.html5:
--------------------------------------------------------------------------------
1 |
2 | | cssID; ?>style): ?> style="style; ?>">
3 | headline): ?>
4 | <hl; ?>>headline; ?>hl; ?>>
5 |
6 |
10 | |
11 |
12 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_hyperlink_html.html5:
--------------------------------------------------------------------------------
1 |
2 | | cssID; ?>style): ?> style="style; ?>">
3 | headline): ?>
4 | <hl; ?>>headline; ?>hl; ?>>
5 |
6 | embed_pre; ?>rel): ?> rel="rel; ?>"target; ?>>link; ?>embed_post; ?>
7 | |
8 |
9 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de_/tl_page.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['tl_page']['jumpBack'] = array(
21 | 'Weiterleitungsseite',
22 | 'Bitte wählen Sie die Seite aus, zu der Besucher weitergeleitet werden. Wenn Sie keine Zielseite auswählen, wird automatisch zur übergeordneten Seite weitergeleitet.'
23 | );
24 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaTransportFinalisationException.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaTransportFinalisationException
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class AvisotaTransportFinalisationException extends Exception
26 | {
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaTransportInitialisationException.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaTransportInitialisationException
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class AvisotaTransportInitialisationException extends Exception
26 | {
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de_/avisota_unsubscribe.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | $GLOBALS['TL_LANG']['avisota_unsubscribe']['submit'] = 'Abmelden';
18 | $GLOBALS['TL_LANG']['avisota_unsubscribe']['unsubscribed'] = 'Sie wurden aus unserem Newsletter abgemeldet.';
19 | $GLOBALS['TL_LANG']['avisota_unsubscribe']['notSubscribed'] = 'Sie haben unseren Newsletter leider nicht abonniert.';
20 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mail_plain_extended.html5:
--------------------------------------------------------------------------------
1 |
2 | [{{newsletter::href}}]
3 |
4 |
5 | header): echo $this->header; ?>
6 |
7 |
8 | body; ?>
9 |
10 | left): echo $this->left; ?>
11 |
12 |
13 | right): echo $this->right; ?>
14 |
15 |
16 | footer): echo $this->footer; ?>
17 |
18 |
19 |
20 | --------------------------------------------------------------------------------
21 | {{newsletter::unsubscribe::plain}}
22 |
23 |
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: php
2 |
3 | php:
4 | - "5.6"
5 |
6 | env:
7 | - CONTAO_VERSION=~3.5.5
8 |
9 | sudo: false
10 |
11 | before_script:
12 | - echo "memory_limit=-1" >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
13 | - travis_retry composer self-update && composer --version
14 | - travis_retry composer require contao/core $CONTAO_VERSION --no-update
15 | - travis_retry composer update --prefer-dist --no-interaction
16 |
17 | script: ant -keep-going
18 |
19 | # Hack to make things work again - we can not use a shallow repository.
20 | git:
21 | depth: 2147483647
22 |
23 | # This used to cause corruption due to travis bug travis-ci/travis-ci#4393 - hopefully it works out now.
24 | cache:
25 | directories:
26 | - vendor
27 |
--------------------------------------------------------------------------------
/src/Queue/QueueFactoryInterface.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Queue;
17 |
18 | use Avisota\Contao\Entity\Queue;
19 |
20 | /**
21 | * The queue factory interface.
22 | */
23 | interface QueueFactoryInterface
24 | {
25 | /**
26 | * Create the queue factory.
27 | *
28 | * @param Queue $queueEntity The queue entity.
29 | *
30 | * @return mixed
31 | */
32 | public function createQueue(Queue $queueEntity);
33 | }
34 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_news_html.html5:
--------------------------------------------------------------------------------
1 |
2 | cssID; ?>style): ?> style="style; ?>">
3 | headline)):?>
4 | <hl; ?>>headline; ?>hl; ?>>
5 |
6 |
7 | news as $item): ?>
8 | -
9 | parseDate($GLOBALS['TL_CONFIG']['dateFormat'],$item['time']);?> -
10 |
11 |
12 |
13 |
14 | |
15 |
16 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_events_html.html5:
--------------------------------------------------------------------------------
1 |
2 | cssID; ?>style): ?> style="style; ?>">
3 | headline)):?>
4 | <hl; ?>>headline; ?>hl; ?>>
5 |
6 |
7 | events as $event): ?>
8 | -
9 | parseDate($GLOBALS['TL_CONFIG']['dateFormat'],$event['startTime']);?> -
10 |
11 |
12 |
13 |
14 | |
15 |
16 |
--------------------------------------------------------------------------------
/src/Transport/TransportFactoryInterface.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Transport;
17 |
18 | use Avisota\Contao\Entity\Transport;
19 |
20 | /**
21 | * Interface TransportFactoryInterface
22 | *
23 | * @package Avisota\Contao\Core\Transport
24 | */
25 | interface TransportFactoryInterface
26 | {
27 | /**
28 | * @param Transport $transport The transport.
29 | *
30 | * @return mixed
31 | */
32 | public function createTransport(Transport $transport);
33 | }
34 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/DataContainer/tl_article_avisota.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | class tl_article_avisota extends tl_article
17 | {
18 |
19 | public function pasteArticle(DataContainer $dc, $row, $table, $cr, $clipboardData = false)
20 | {
21 | if ($table == $GLOBALS['TL_DCA'][$dc->table]['config']['ptable'] && $row['type'] == 'avisota') {
22 | return $this->generateImage('pasteinto_.gif', '', 'class="blink"');
23 | }
24 |
25 | return parent::pasteArticle($dc, $row, $table, $cr, $clipboardData);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/en_/tl_settings.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['tl_settings']['avisota_developer_mode'] = array('Developer Mode ', ' Enables developer mode.');
21 | $GLOBALS['TL_LANG']['tl_settings']['avisota_developer_email'] = array(
22 | 'Developer E-mail ',
23 | 'Send emails to this address for developer mode.'
24 | );
25 |
26 |
27 | /**
28 | * Legend
29 | */
30 | $GLOBALS['TL_LANG']['tl_settings']['avisota_legend'] = 'Avisota Newsletter System';
31 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de_/tl_member.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['tl_member']['avisota_lists'] = array(
21 | TL_MODE == 'FE' ? 'Newsletter' : 'Avisota Verteiler',
22 | 'Wählen Sie hier die Verteiler, die der Abonnent erhalten soll.'
23 | );
24 | $GLOBALS['TL_LANG']['tl_member']['avisota_subscribe'] = array('Newsletter abonnieren', '');
25 |
26 |
27 | /**
28 | * Legends
29 | */
30 | $GLOBALS['TL_LANG']['tl_member']['avisota_legend'] = 'Avisota Newslettersystem';
31 |
--------------------------------------------------------------------------------
/src/RecipientSource/RecipientSourceFactoryInterface.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\RecipientSource;
17 |
18 | use Avisota\Contao\Entity\RecipientSource;
19 |
20 | /**
21 | * The recipient source factory interface.
22 | */
23 | interface RecipientSourceFactoryInterface
24 | {
25 | /**
26 | * Create the recipient source.
27 | *
28 | * @param RecipientSource $recipientSource
29 | *
30 | * @return mixed
31 | */
32 | public function createRecipientSource(RecipientSource $recipientSource);
33 | }
34 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de_/tl_stylepicker4ward.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | $GLOBALS['TL_LANG']['tl_stylepicker4ward']['Avisota_legend'] = 'Avisota Newslettersystem';
17 | $GLOBALS['TL_LANG']['tl_stylepicker4ward']['_AvisotaNewsletterCEs'] = array(
18 | 'Newsletter Inhaltselemente',
19 | 'Diese Styledefinition kann auf diese Inhaltselemente angewandt werden.'
20 | );
21 | $GLOBALS['TL_LANG']['tl_stylepicker4ward']['_AvisotaNewsletterCE_Row'] = array(
22 | 'Spalten',
23 | 'Das Inhaltselement muss in diesen Spalten liegen.'
24 | );
25 |
--------------------------------------------------------------------------------
/src/Transport/ServiceTransportFactory.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Transport;
17 |
18 | use Avisota\Contao\Entity\Transport;
19 |
20 | /**
21 | * The service transport factory.
22 | */
23 | class ServiceTransportFactory implements TransportFactoryInterface
24 | {
25 | /**
26 | * Create the transport.
27 | *
28 | * @param Transport $transport
29 | *
30 | * @return mixed
31 | */
32 | public function createTransport(Transport $transport)
33 | {
34 | global $container;
35 |
36 | return $container[$transport->getServiceName()];
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de_/avisota_subscribe.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | $GLOBALS['TL_LANG']['avisota_subscribe']['submit'] = 'Abonnieren';
18 | $GLOBALS['TL_LANG']['avisota_subscribe']['subscribed'] = 'Vielen Dank für Ihr Interesse, Sie wurden zu unserem Newsletter angemeldet. Sie erhalten in Kürze eine E-Mail um Ihr Abonnement zu bestätigen.';
19 | $GLOBALS['TL_LANG']['avisota_subscribe']['allreadySubscribed'] = 'Vielen Dank für Ihr Interesse, aber Sie sind bereits an unserem Newsletter angemeldet.';
20 | $GLOBALS['TL_LANG']['avisota_subscribe']['confirmSubscription'] = 'Ihr Abonnement wurde erfolgreich aktiviert.';
21 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/Element/ElementInterface.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | namespace Avisota\Contao\Core\Message\Element;
18 |
19 | use Avisota\Contao\Entity\MessageContent;
20 | use Avisota\Recipient\RecipientInterface;
21 |
22 | interface ElementInterface
23 | {
24 | /**
25 | * Parse and generate the element.
26 | *
27 | * @param string $mode One of Renderer::MODE_* constants.
28 | * @param MessageContent $messageContent
29 | * @param RecipientInterface $recipient
30 | *
31 | * @return string
32 | */
33 | public function generate($mode, MessageContent $messageContent, RecipientInterface $recipient = null);
34 | }
35 |
--------------------------------------------------------------------------------
/tests/bootstrap.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | error_reporting(E_ALL);
17 |
18 | function includeIfExists($file)
19 | {
20 | return file_exists($file) ? include $file : false;
21 | }
22 |
23 | if (// Locally installed dependencies.
24 | (!$loader = includeIfExists(__DIR__ . '/../vendor/autoload.php'))
25 | // We are within an composer install.
26 | && (!$loader = includeIfExists(__DIR__ . '/../../../autoload.php'))
27 | ) {
28 | echo 'You must set up the project dependencies, run the following commands:' . PHP_EOL .
29 | 'curl -sS https://getcomposer.org/installer | php' . PHP_EOL .
30 | 'php composer.phar install' . PHP_EOL;
31 | exit(1);
32 | }
33 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaRecipientException.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaRecipientException
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class AvisotaRecipientException extends Exception
26 | {
27 | protected $recipient;
28 |
29 | public function __construct(array $recipientData = null, $message = '', $code = 0, $previous = null)
30 | {
31 | parent::__construct($message, $code, $previous);
32 | $this->recipient = $recipientData;
33 | }
34 |
35 | public function getRecipient()
36 | {
37 | return $this->recipient;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaSubscriptionException.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaSubscriptionException
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class AvisotaSubscriptionException extends Exception
26 | {
27 | protected $recipient;
28 |
29 | public function __construct(AvisotaRecipient $recipient, $message = '', $code = 0, $previous = null)
30 | {
31 | parent::__construct($message, $code, $previous);
32 | $this->recipient = $recipient;
33 | }
34 |
35 | public function getRecipient()
36 | {
37 | return $this->recipient;
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_hyperlink_image_html.html5:
--------------------------------------------------------------------------------
1 |
2 | | cssID; ?> style="line-height: 0; style; ?>">
3 | headline): ?>
4 | <hl; ?> style="line-height: normal;">headline; ?>hl; ?>>
5 |
6 |
12 | |
13 |
14 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_image_html.html5:
--------------------------------------------------------------------------------
1 |
2 | | cssID; ?> style="line-height: 0; style; ?>">
3 | headline): ?>
4 | <hl; ?> style="line-height: normal;">headline; ?>hl; ?>>
5 |
6 |
18 | |
19 |
20 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/Element/ElementTemplate.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | namespace Avisota\Contao\Core\Message\Element;
18 |
19 | use Avisota\Contao\Entity\MessageContent;
20 | use Avisota\Contao\Core\Message\Renderer;
21 | use Avisota\Recipient\RecipientInterface;
22 |
23 |
24 | /**
25 | * Class Text
26 | *
27 | *
28 | * @copyright way.vision 2015
29 | * @author Sven Baumann
30 | * @package avisota/contao-core
31 | */
32 | class ElementTemplate
33 | {
34 | public function __construct(
35 | $template = '',
36 | $mode = ''
37 | ) {
38 | parent::__construct($template, $contentType ? $contentType : 'text/' . $mode);
39 | $this->setFormat($mode);
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/NewsletterHeadline.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class NewsletterHeadline
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class NewsletterHeadline extends Element
26 | {
27 |
28 | /**
29 | * HTML Template
30 | *
31 | * @var string
32 | */
33 | protected $templateHTML = 'nle_headline_html';
34 |
35 | /**
36 | * Plain text Template
37 | *
38 | * @var string
39 | */
40 | protected $templatePlain = 'nle_headline_plain';
41 |
42 |
43 | /**
44 | * Compile the current element
45 | */
46 | protected function compile($mode)
47 | {
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/Element/NewsletterHeadline.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class NewsletterHeadline
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class NewsletterHeadline extends Element
26 | {
27 |
28 | /**
29 | * HTML Template
30 | *
31 | * @var string
32 | */
33 | protected $templateHTML = 'nle_headline_html';
34 |
35 | /**
36 | * Plain text Template
37 | *
38 | * @var string
39 | */
40 | protected $templatePlain = 'nle_headline_plain';
41 |
42 |
43 | /**
44 | * Compile the current element
45 | */
46 | protected function compile($mode)
47 | {
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/assets/js/backend.js:
--------------------------------------------------------------------------------
1 | var Avisota = {
2 | toggleConfirmation: function (link) {
3 | link = $(link);
4 | new Request.JSON({
5 | url: 'contao/main.php',
6 | onSuccess: function (responseJSON, responseText) {
7 | if (responseJSON.blacklisted) {
8 |
9 | } else {
10 | link.setProperty('data-confirmed', responseJSON.confirmed ? '1' : '')
11 | var img = link.getElement('img');
12 | img.setProperty('src',
13 | img.getProperty('src').replace(/\/(in)?visible.gif/, (responseJSON.confirmed ? '/visible.gif' : '/invisible.gif')));
14 | }
15 | }
16 | }).get({
17 | 'do': 'avisota_recipients',
18 | 'act': 'toggleConfirmation',
19 | 'recipient': link.getProperty('data-recipient'),
20 | 'list': link.getProperty('data-list'),
21 | 'confirmed': link.getProperty('data-confirmed') ? '' : '1'
22 | })
23 | }
24 | };
25 |
--------------------------------------------------------------------------------
/contao/config/event_subscribers.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | use Avisota\Contao\Core\Controller\CopyController;
17 | use Avisota\Contao\Core\DataContainer\MailingList;
18 | use Avisota\Contao\Core\DataContainer\Queue;
19 | use Avisota\Contao\Core\DataContainer\RecipientSource;
20 | use Avisota\Contao\Core\DataContainer\Core;
21 | use Avisota\Contao\Core\DataContainer\Transport;
22 | use Avisota\Contao\Core\EventSubscriber;
23 |
24 | return array(
25 | new Queue(),
26 | new RecipientSource(),
27 | new EventSubscriber(),
28 | function () {
29 | return $GLOBALS['container']['avisota.core.options-builder'];
30 | },
31 | new CopyController(),
32 | new Core(),
33 | new Transport(),
34 | new MailingList()
35 | );
36 |
--------------------------------------------------------------------------------
/assets/css/avisotaCompatibilityController.css:
--------------------------------------------------------------------------------
1 | #wrapper {
2 | width: 500px;
3 | margin: 40px auto;
4 | padding: 40px;
5 | border: 1px solid #990000;
6 | background: #eee;
7 | overflow: hidden;
8 | line-height: 1.5em;
9 | }
10 | img {
11 | float: left;
12 | margin-right: 20px;
13 | }
14 | div.buttons {
15 | clear: left;
16 | padding-top: 20px;
17 | }
18 | a.disableAvisota,
19 | a.uninstallAvisota {
20 | width: 220px;
21 | height: 32px;
22 | line-height: 32px;
23 | margin: 0;
24 | padding: 0;
25 | -webkit-border-radius: 5px;
26 | -khtml-border-radius: 5px;
27 | -moz-border-radius: 5px;
28 | -ie-border-radius: 5px;
29 | -o-border-radius: 5px;
30 | border-radius: 5px;
31 | text-align: center;
32 | }
33 | a.disableAvisota {
34 | float: left;
35 | border: 1px solid #0000ff;
36 | background: #f6f6ff;
37 | }
38 | a.disableAvisota:hover {
39 | color: #0000ff;
40 | }
41 | a.uninstallAvisota {
42 | float: right;
43 | border: 1px solid #009900;
44 | background: #f6fff6;
45 | cursor: pointer;
46 | }
47 | a.uninstallAvisota:hover {
48 | color: #009900;
49 | }
50 |
--------------------------------------------------------------------------------
/assets/js/Number.js:
--------------------------------------------------------------------------------
1 | Number.prototype.formatTime = function (forceMinutes, forceHours) {
2 | var i = Math.abs(parseInt(this));
3 | var s = parseInt(i % 60);
4 | var m = parseInt((i / 60) % 60);
5 | var h = parseInt((i / 3600) % 60);
6 | var v = '';
7 | if (forceHours || h > 0) {
8 | v += h + ':';
9 | }
10 | if (v || forceMinutes || m > 0) {
11 | if (v && m < 10) {
12 | v += '0';
13 | }
14 | v += m + ':';
15 | }
16 | if (v && s < 10) {
17 | v += '0';
18 | }
19 | v += s;
20 | if (this < 0) {
21 | v = '-' + v + '';
22 | }
23 | return v;
24 | };
25 | Number.prototype.formatNumber = function () {
26 | var a = Math.abs(this).toString().split('');
27 | v = '';
28 | var n = 0;
29 | while (a.length > 0) {
30 | if (n > 0 && n % 3 == 0)
31 | v = '.' + v;
32 | v = a.pop() + v;
33 | n++;
34 | }
35 | if (this < 0) {
36 | v = '-' + v + '';
37 | }
38 | return v;
39 | };
40 |
--------------------------------------------------------------------------------
/contao/dca/_tl_page.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Table tl_page
19 | */
20 | $GLOBALS['TL_DCA']['tl_page']['metapalettes']['avisota'] = array
21 | (
22 | 'title' => array('title', 'alias', 'type'),
23 | 'redirect' => array('jumpBack'),
24 | 'protected' => array(':hide', 'protected'),
25 | 'cache' => array(':hide', 'includeCache'),
26 | 'chmod' => array(':hide', 'includeChmod'),
27 | 'expert' => array(':hide', 'guests'),
28 | 'publish' => array('published', 'start', 'stop')
29 | );
30 |
31 | $GLOBALS['TL_DCA']['tl_page']['fields']['jumpBack'] = array
32 | (
33 | 'label' => &$GLOBALS['TL_LANG']['tl_page']['jumpBack'],
34 | 'exclude' => true,
35 | 'inputType' => 'pageTree',
36 | 'eval' => array('fieldType' => 'radio')
37 | );
38 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaBlacklistException.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaBlacklistException
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class AvisotaBlacklistException extends Exception
26 | {
27 | protected $email;
28 |
29 | protected $lists;
30 |
31 | public function __construct($email = null, array $lists = array(), $message = '', $code = 0, $previous = null)
32 | {
33 | parent::__construct($message, $code, $previous);
34 | $this->email = $email;
35 | $this->lists = $lists;
36 | }
37 |
38 | public function getEmail()
39 | {
40 | return $this->email;
41 | }
42 |
43 | public function getLists()
44 | {
45 | return $this->lists;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaTransportEmailException.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaTransportEmailException
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class AvisotaTransportEmailException extends Exception
26 | {
27 | protected $recipient;
28 |
29 | protected $email;
30 |
31 | public function __construct($recipient, Email $email, $message = '', $code = 0, $previous = null)
32 | {
33 | parent::__construct($message, $code, $previous);
34 | $this->recipient = $recipient;
35 | $this->newsletter = $email;
36 | }
37 |
38 | public function getRecipient()
39 | {
40 | return $this->recipient;
41 | }
42 |
43 | public function getEmail()
44 | {
45 | return $this->email;
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de_/avisotaCompatibilityController.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Avisota compatibility controller
19 | */
20 | $GLOBALS['TL_LANG']['avisotaCompatibilityController']['title'] = 'Inkompatible Systemvoraussetzungen';
21 | $GLOBALS['TL_LANG']['avisotaCompatibilityController']['message'] = 'Diese Version von Avisota benötigt MySQL 5+,
22 | sie verwenden zur Zeit MySQL %s.
23 |
24 | Wenn Sie Avisota verwenden möchten, aktualisieren Sie den MySQL Server oder wenden Sie sich an Ihren Provider!';
25 | $GLOBALS['TL_LANG']['avisotaCompatibilityController']['disable'] = 'Avisota deaktivieren';
26 | $GLOBALS['TL_LANG']['avisotaCompatibilityController']['uninstall'] = 'Avisota deinstallieren';
27 | $GLOBALS['TL_LANG']['avisotaCompatibilityController']['disabled'] = 'Avisota wurde deaktiviert';
28 |
--------------------------------------------------------------------------------
/src/Queue/SimpleDatabaseQueueFactory.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Queue;
17 |
18 | use Avisota\Contao\Entity\Queue;
19 | use Avisota\Queue\SimpleDatabaseQueue;
20 |
21 | /**
22 | * The simple database queue factory.
23 | */
24 | class SimpleDatabaseQueueFactory implements QueueFactoryInterface
25 | {
26 | /**
27 | * Create the simple queue database.
28 | *
29 | * @param Queue $queue
30 | *
31 | * @return SimpleDatabaseQueue
32 | */
33 | public function createQueue(Queue $queue)
34 | {
35 | global $container;
36 |
37 | return new SimpleDatabaseQueue(
38 | $container['doctrine.connection.default'],
39 | $queue->getSimpleDatabaseQueueTable(),
40 | true,
41 | $container['avisota.logger.queue'],
42 | $container['event-dispatcher']
43 | );
44 | }
45 | }
46 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nl_gallery_default_html.html5:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | body as $class=>$row): ?>
5 |
6 |
7 | addImage): ?>
8 | | |
9 |
10 |
11 |
21 | |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaFrontend.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaFrontend
19 | *
20 | * @copyright way.vision 2015
21 | * @author Sven Baumann
22 | * @package avisota/contao-core
23 | */
24 | class AvisotaFrontend extends Frontend
25 | {
26 | /**
27 | * Find a particular template file and return its path
28 | *
29 | * @author Leo Feyer
30 | * @see Controll::getTemplate in Contao OpenSource CMS
31 | *
32 | * @param string
33 | * @param string
34 | *
35 | * @return string
36 | * @throws Exception
37 | */
38 | public function getTemplate($template)
39 | {
40 | return AvisotaBase::getInstance()
41 | ->getTemplate($template);
42 | }
43 |
44 | protected function getTemplateGroup($prefix, $themeId = 0)
45 | {
46 | return AvisotaBase::getInstance()
47 | ->getTemplateGroup($prefix, $themeId);
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaTransportNewsletterException.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaTransportNewsletterException
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class AvisotaTransportNewsletterException extends Exception
26 | {
27 | protected $recipient;
28 |
29 | protected $newsletter;
30 |
31 | public function __construct(
32 | AvisotaRecipient $recipient,
33 | AvisotaNewsletter $newsletter,
34 | $message = '',
35 | $code = 0,
36 | $previous = null
37 | ) {
38 | parent::__construct($message, $code, $previous);
39 | $this->recipient = $recipient;
40 | $this->newsletter = $newsletter;
41 | }
42 |
43 | public function getRecipient()
44 | {
45 | return $this->recipient;
46 | }
47 |
48 | public function getNewsletter()
49 | {
50 | return $this->newsletter;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de/tl_avisota_recipient_remove.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['orm_avisota_recipient_remove']['source'] = array(
21 | 'Quelle',
22 | 'Wählen Sie hier die Datei aus, welche die Empfänger enthält die Sie löschen möchten.'
23 | );
24 | $GLOBALS['TL_LANG']['orm_avisota_recipient_remove']['upload'] = array(
25 | 'Upload',
26 | 'Laden Sie eine Datei hoch, welche die Empfänger enthält die Sie löschen möchten.'
27 | );
28 | $GLOBALS['TL_LANG']['orm_avisota_recipient_remove']['emails'] = array(
29 | 'E-Mails',
30 | 'Tragen Sie hier die Empfänger ein die Sie löschen möchten.'
31 | );
32 |
33 |
34 | /**
35 | * Reference
36 | */
37 | $GLOBALS['TL_LANG']['orm_avisota_recipient_remove']['confirm'] = '%s Empfänger wurden gelöscht.';
38 | $GLOBALS['TL_LANG']['orm_avisota_recipient_remove']['edit'] = 'Empfänger löschen';
39 |
40 |
41 | /**
42 | * Legends
43 | */
44 | $GLOBALS['TL_LANG']['orm_avisota_recipient_remove']['remove_legend'] = 'Löschen';
45 |
--------------------------------------------------------------------------------
/src/Event/PostSendImmediateEvent.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Event;
17 |
18 | use Avisota\Contao\Entity\Message;
19 |
20 | /**
21 | * The post defined immediate event.
22 | */
23 | class PostSendImmediateEvent extends BaseSendImmediateEvent
24 | {
25 | /**
26 | * The count.
27 | *
28 | * @var string
29 | */
30 | protected $count;
31 |
32 | /**
33 | * PostSendImmediateEvent constructor.
34 | *
35 | * @param Message $count The count.
36 | * @param Message $message The message.
37 | * @param string $turn The turn step.
38 | * @param string $loop The unique loop id.
39 | */
40 | public function __construct($count, Message $message, $turn, $loop)
41 | {
42 | parent::__construct($message, $turn, $loop);
43 |
44 | $this->count = $count;
45 | }
46 |
47 | /**
48 | * Return the count.
49 | *
50 | * @return string
51 | */
52 | public function getCount()
53 | {
54 | return $this->count;
55 | }
56 | }
57 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de/tl_avisota_newsletter_create_from_draft.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['orm_avisota_message_create_from_draft']['category'] = array(
21 | 'Kategorie',
22 | 'Wählen Sie hier, in welcher Kategorie der Newsletter erstellt werden soll.'
23 | );
24 | $GLOBALS['TL_LANG']['orm_avisota_message_create_from_draft']['subject'] = array(
25 | 'Betreff',
26 | 'Bitte geben Sie den Betreff des Newsletters ein.'
27 | );
28 | $GLOBALS['TL_LANG']['orm_avisota_message_create_from_draft']['draft'] = array(
29 | 'Vorlage',
30 | 'Wählen Sie hier die Vorlage aus.'
31 | );
32 |
33 |
34 | /**
35 | * Legends
36 | */
37 | $GLOBALS['TL_LANG']['orm_avisota_message_create_from_draft']['create_legend'] = 'Einstellungen';
38 | $GLOBALS['TL_LANG']['orm_avisota_message_create_from_draft']['edit'] = 'Newsletter aus Vorlage erstellen';
39 |
40 |
41 | /**
42 | * Reference
43 | */
44 | $GLOBALS['TL_LANG']['orm_avisota_message_create_from_draft']['created'] = 'Newsletter wurde erstellt.';
45 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Avisota 3
2 | =========
3 |
4 | [](https://travis-ci.org/avisota/contao-core)
5 | [](https://github.com/avisota/contao-core/tags)
6 | [](https://packagist.org/packages/avisota/contao-core)
7 | [](https://packagist.org/packages/avisota/contao-core)
8 | [](https://www.versioneye.com/php/avisota:contao-core)
9 |
10 | Avisota is a high definition newsletter and mailing system for the Contao CMS .
11 |
12 | ## Events
13 |
14 | ### avisota-recipient-subscribe (SubscribeEvent)
15 |
16 | Triggered if a recipient starts the subscription process (double-opt-in).
17 |
18 | ### avisota-recipient-confirm-subscription (ConfirmSubscriptionEvent)
19 |
20 | Triggered if a recipient confirms his subscription.
21 |
22 | ### avisota-recipient-unsubscribe (UnsubscribeEvent)
23 |
24 | Triggered if a recipient cancels his subscription.
25 |
26 | ### avisota-recipient-remove (RecipientEvent)
27 |
28 | Triggered if a recipient gets removed, because he has no more subscriptions.
29 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de/tl_avisota_recipient_export.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['orm_avisota_recipient_export']['delimiter'] = array(
21 | 'Feldtrenner',
22 | 'Wählen Sie hier das Zeichen aus, nach dem die einzelnen Felder getrennt sind.'
23 | );
24 | $GLOBALS['TL_LANG']['orm_avisota_recipient_export']['enclosure'] = array(
25 | 'Texttrenner',
26 | 'Wählen Sie hier das Zeichen aus, nach dem der Text getrennt ist.'
27 | );
28 | $GLOBALS['TL_LANG']['orm_avisota_recipient_export']['fields'] = array(
29 | 'Felder',
30 | 'Wählen Sie hier, wie die Felder die exportiert werden sollen.'
31 | );
32 |
33 | /**
34 | * Reference
35 | */
36 | $GLOBALS['TL_LANG']['orm_avisota_recipient_export']['double'] = 'Doppelte Anführungszeichen "';
37 | $GLOBALS['TL_LANG']['orm_avisota_recipient_export']['single'] = 'Einfache Anführungszeichen \'';
38 | $GLOBALS['TL_LANG']['orm_avisota_recipient_export']['edit'] = 'CSV-Export';
39 |
40 |
41 | /**
42 | * Legends
43 | */
44 | $GLOBALS['TL_LANG']['orm_avisota_recipient_export']['format_legend'] = 'CSV Format';
45 |
--------------------------------------------------------------------------------
/contao/web/queue_execute.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | function ifInitializeExist()
17 | {
18 |
19 | $dir = dirname(isset($_SERVER['SCRIPT_FILENAME']) ? $_SERVER['SCRIPT_FILENAME'] : __FILE__);
20 |
21 | while ($dir && $dir != '.' && $dir != '/' && !is_file($dir . '/system/initialize.php')) {
22 | $dir = dirname($dir);
23 |
24 | }
25 |
26 | if (!is_file($dir . '/system/initialize.php')) {
27 | header("HTTP/1.0 500 Internal Server Error");
28 | header('Content-Type: text/html; charset=utf-8');
29 | echo '500 Internal Server Error
';
30 | echo 'Could not find initialize.php!
';
31 | exit(1);
32 | }
33 |
34 | /** @noinspection PhpIncludeInspection */
35 | define('TL_MODE', 'FE');
36 | require($dir . '/system/initialize.php');
37 |
38 | \BackendUser::getInstance();
39 | }
40 |
41 | ifInitializeExist();
42 |
43 | $request = \Symfony\Component\HttpFoundation\Request::createFromGlobals();
44 | $runner = new \Avisota\Contao\Core\Controller\QeueueExecuteController();
45 | $response = $runner->run($request);
46 | $response->send();
47 |
--------------------------------------------------------------------------------
/src/Backend/Support.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Backend;
17 |
18 | use ContaoCommunityAlliance\Contao\Bindings\ContaoEvents;
19 | use ContaoCommunityAlliance\Contao\Bindings\Events\System\LoadLanguageFileEvent;
20 | use Symfony\Component\EventDispatcher\EventDispatcher;
21 |
22 | /**
23 | * A BackendModule implementation that use Twig as template engine.
24 | */
25 | class Support extends \TwigBackendModule
26 | {
27 | /**
28 | * The template.
29 | *
30 | * @var string
31 | */
32 | protected $strTemplate = 'avisota/backend/support';
33 |
34 | /**
35 | * Compile the current element.
36 | *
37 | * @return void
38 | *
39 | * @SuppressWarnings(PHPMD.Superglobals)
40 | */
41 | protected function compile()
42 | {
43 | /** @var EventDispatcher $eventDispatcher */
44 | $eventDispatcher = $GLOBALS['container']['event-dispatcher'];
45 |
46 | $eventDispatcher->dispatch(
47 | ContaoEvents::SYSTEM_LOAD_LANGUAGE_FILE,
48 | new LoadLanguageFileEvent('avisota_support')
49 | );
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/mail_html_default.html5:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
6 |
7 | title; ?>
8 | head; ?>
9 |
10 |
11 |
12 |
13 |
14 | |
15 |
16 | |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 | body; ?>
27 |
28 |
29 | |
30 |
31 |
32 |
33 |
34 |
35 |
36 | |
37 | {{newsletter::unsubscribe::html}}
38 | |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/src/Backend/CustomMenu.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Backend;
17 |
18 | /**
19 | * The avisota core custom menu.
20 | */
21 | class CustomMenu
22 | {
23 | /**
24 | * The hook for get user navigation.
25 | *
26 | * @param array $navigation The navigation.
27 | * @param boolean $showAll The state of show all.
28 | *
29 | * @return array
30 | *
31 | * @SuppressWarnings(PHPMD.Superglobals)
32 | * @SuppressWarnings(PHPMD.UnusedFormalParameter)
33 | */
34 | public static function hookGetUserNavigation(array $navigation, $showAll)
35 | {
36 | if (TL_MODE == 'BE' && is_array($navigation['avisota']['modules'])) {
37 | try {
38 | $GLOBALS['TL_CSS']['avisota-be-global'] = 'assets/avisota/core/css/be_global.css';
39 |
40 | if (Outbox::isEmpty()) {
41 | $navigation['avisota']['modules']['avisota_outbox']['class'] .= ' avisota_outbox_empty';
42 | }
43 | } catch (\Exception $exception) {
44 | // silently ignore
45 | }
46 | }
47 | return $navigation;
48 | }
49 | }
50 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/DataContainer/tl_member.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | class tl_member_avisota extends Backend
17 | {
18 | public function onload_callback()
19 | {
20 | // Hack, because ModulePersonalData does not call the load_callback for the avisota_lists field
21 | // uncomment when https://github.com/contao/core/pull/4018 is merged
22 | // if (TL_MODE == 'FE' && version_compare(VERSION . '.' . BUILD, '2.11.0', '<=')) {
23 | $this->import('FrontendUser', 'User');
24 | $this->User->avisota_lists = explode(',', $this->User->avisota_lists);
25 | // }
26 | }
27 |
28 | public function onsubmit_callback()
29 | {
30 | if (TL_MODE == 'FE') {
31 | list($user, $formData, $modulePersonalData) = func_get_args();
32 | $listIds = deserialize($formData['avisota_lists'], true);
33 | $userId = $user->id;
34 | }
35 | else {
36 | list($dc) = func_get_args();
37 | $listIds = deserialize($dc->activeRecord->avisota_lists, true);
38 | $userId = $dc->id;
39 | }
40 |
41 | if (empty($listIds)) {
42 | \Database::getInstance()
43 | ->prepare("UPDATE tl_member SET avisota_subscribe=? WHERE id=?")
44 | ->execute('', $userId);
45 | }
46 | }
47 | }
48 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/nle_table_html.html5:
--------------------------------------------------------------------------------
1 |
2 | cssID; ?>style): ?> style="style; ?>">
3 | headline): ?>
4 | <hl; ?>>headline; ?>hl; ?>>
5 |
6 | sortable): ?> class="sortable" id="id; ?>" summary="summary; ?>">
7 | useHeader): ?>
8 |
9 |
10 | header as $col): ?>
11 | |
12 |
13 |
14 |
15 |
16 | useFooter): ?>
17 |
18 |
19 | footer as $col): ?>
20 | |
21 |
22 |
23 |
24 |
25 |
26 | body as $class=>$row): ?>
27 |
28 |
29 | |
30 |
31 |
32 |
33 |
34 |
35 | |
36 |
37 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/AvisotaTransportSwiftTransport.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class AvisotaTransportSwiftTransport
19 | *
20 | * @copyright way.vision 2015
21 | * @author Sven Baumann
22 | * @package avisota/contao-core
23 | */
24 | class AvisotaTransportSwiftTransport extends AvisotaTransportMailerTransport
25 | {
26 | /**
27 | * @var string
28 | */
29 | protected $mailerImplementation = 'swift';
30 |
31 | protected function createMailerConfig()
32 | {
33 | $mailerConfig = parent::createMailerConfig();
34 |
35 | switch ($this->config->swiftUseSmtp) {
36 | case 'swiftSmtpOn':
37 | $mailerConfig->setUseSMTP(true);
38 | $mailerConfig->setSmtpHost($this->config->swiftSmtpHost);
39 | $mailerConfig->setSmtpPort($this->config->swiftSmtpPort);
40 | $mailerConfig->setSmtpUser($this->config->swiftSmtpUser);
41 | $mailerConfig->setSmtpPassword($this->config->swiftSmtpPass);
42 | $mailerConfig->setSmtpEncryption($this->config->swiftSmtpEnc);
43 | break;
44 |
45 | case 'swiftSmtpOff':
46 | $mailerConfig->setUseSMTP(false);
47 | break;
48 | }
49 |
50 | return $mailerConfig;
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/contao/languages/en/avisota_promotion.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | <img src="assets/avisota/core/images/donate.svg" alt=""> Avisota is an Open Source project.<br><a href="http://avisota.org" target="_blank">Donate</a> and keep the project alive!
6 |
7 |
8 |
9 | <img src="assets/avisota/core/images/opensource.svg" alt=""> Avisota is an Open Source project.<br><a href="https://github.com/avisota" target="_blank">View and validate the source online!</a>
10 |
11 |
12 |
13 | <img src="assets/avisota/core/images/partners.svg" alt=""> <a href="http://avisota.org/de/netzwerk/partner" target="_blank">Avisota is backed by many partners.</a><br><a href="http://avisota.org/de/netzwerk/partner#partner-werden" target="_blank">Fill out application and back the project!</a>!
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/contao/languages/es/avisota_promotion.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | <img src="assets/avisota/core/images/donate.svg" alt=""> Avisota is an Open Source project.<br><a href="http://avisota.org" target="_blank">Donate</a> and keep the project alive!
6 |
7 |
8 |
9 | <img src="assets/avisota/core/images/opensource.svg" alt=""> Avisota is an Open Source project.<br><a href="https://github.com/avisota" target="_blank">View and validate the source online!</a>
10 |
11 |
12 |
13 | <img src="assets/avisota/core/images/partners.svg" alt=""> <a href="http://avisota.org/de/netzwerk/partner" target="_blank">Avisota is backed by many partners.</a><br><a href="http://avisota.org/de/netzwerk/partner#partner-werden" target="_blank">Fill out application and back the project!</a>!
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/contao/languages/pl/avisota_promotion.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | <img src="assets/avisota/core/images/donate.svg" alt=""> Avisota is an Open Source project.<br><a href="http://avisota.org" target="_blank">Donate</a> and keep the project alive!
6 |
7 |
8 |
9 | <img src="assets/avisota/core/images/opensource.svg" alt=""> Avisota is an Open Source project.<br><a href="https://github.com/avisota" target="_blank">View and validate the source online!</a>
10 |
11 |
12 |
13 | <img src="assets/avisota/core/images/partners.svg" alt=""> <a href="http://avisota.org/de/netzwerk/partner" target="_blank">Avisota is backed by many partners.</a><br><a href="http://avisota.org/de/netzwerk/partner#partner-werden" target="_blank">Fill out application and back the project!</a>!
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/contao/languages/ru_RU/avisota_promotion.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | <img src="assets/avisota/core/images/donate.svg" alt=""> Avisota is an Open Source project.<br><a href="http://avisota.org" target="_blank">Donate</a> and keep the project alive!
6 |
7 |
8 |
9 | <img src="assets/avisota/core/images/opensource.svg" alt=""> Avisota is an Open Source project.<br><a href="https://github.com/avisota" target="_blank">View and validate the source online!</a>
10 |
11 |
12 |
13 | <img src="assets/avisota/core/images/partners.svg" alt=""> <a href="http://avisota.org/de/netzwerk/partner" target="_blank">Avisota is backed by many partners.</a><br><a href="http://avisota.org/de/netzwerk/partner#partner-werden" target="_blank">Fill out application and back the project!</a>!
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/avisota_unsubscribe_default.html5:
--------------------------------------------------------------------------------
1 |
2 |
38 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/NewsletterNews.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | class NewsletterNews extends Element
18 | {
19 |
20 | /**
21 | * HTML Template
22 | *
23 | * @var string
24 | */
25 | protected $templateHTML = 'nle_news_html';
26 |
27 | /**
28 | * Plain text Template
29 | *
30 | * @var string
31 | */
32 | protected $templatePlain = 'nle_news_plain';
33 |
34 | /**
35 | * Caching var for jumpTo-pages
36 | *
37 | * @var mixed tl_page-rows
38 | */
39 | protected $jumpToPages = array();
40 |
41 |
42 | /**
43 | * Generate content element
44 | *
45 | * @param str $mode Compile either html or plaintext part
46 | */
47 | protected function compile($mode)
48 | {
49 | $this->import('DomainLink');
50 |
51 | $newsIDs = unserialize($this->news);
52 | if (!is_array($newsIDs)) {
53 | $this->Template->events = array();
54 | return;
55 | }
56 |
57 | $news = \Database::getInstance()
58 | ->prepare(
59 | 'SELECT n.*,a.jumpTo,a.title AS section
60 | FROM tl_news as n
61 | LEFT JOIN tl_news_archive as a ON (n.pid = a.id)
62 | WHERE n.id IN (' . implode(',', $newsIDs) . ')
63 | ORDER BY n.time'
64 | )
65 | ->execute();
66 |
67 | $this->Template->news = $news->fetchAllAssoc();
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/Element/NewsletterNews.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | class NewsletterNews extends Element
18 | {
19 |
20 | /**
21 | * HTML Template
22 | *
23 | * @var string
24 | */
25 | protected $templateHTML = 'nle_news_html';
26 |
27 | /**
28 | * Plain text Template
29 | *
30 | * @var string
31 | */
32 | protected $templatePlain = 'nle_news_plain';
33 |
34 | /**
35 | * Caching var for jumpTo-pages
36 | *
37 | * @var mixed tl_page-rows
38 | */
39 | protected $jumpToPages = array();
40 |
41 |
42 | /**
43 | * Generate content element
44 | *
45 | * @param str $mode Compile either html or plaintext part
46 | */
47 | protected function compile($mode)
48 | {
49 | $this->import('DomainLink');
50 |
51 | $newsIDs = unserialize($this->news);
52 | if (!is_array($newsIDs)) {
53 | $this->Template->events = array();
54 | return;
55 | }
56 |
57 | $news = \Database::getInstance()
58 | ->prepare(
59 | 'SELECT n.*,a.jumpTo,a.title AS section
60 | FROM tl_news as n
61 | LEFT JOIN tl_news_archive as a ON (n.pid = a.id)
62 | WHERE n.id IN (' . implode(',', $newsIDs) . ')
63 | ORDER BY n.time'
64 | )
65 | ->execute();
66 |
67 | $this->Template->news = $news->fetchAllAssoc();
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/NewsletterList.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class NewsletterList
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class NewsletterList extends Element
26 | {
27 |
28 | /**
29 | * HTML Template
30 | *
31 | * @var string
32 | */
33 | protected $templateHTML = 'nle_list_html';
34 |
35 | /**
36 | * Plain text Template
37 | *
38 | * @var string
39 | */
40 | protected $templatePlain = 'nle_list_plain';
41 |
42 |
43 | /**
44 | * Compile the current element
45 | */
46 | protected function compile($mode)
47 | {
48 | $items = array();
49 | $itemContents = deserialize($this->listItems);
50 |
51 | if ($mode == NL_HTML) {
52 | $limit = count($itemContents) - 1;
53 |
54 | for ($i = 0; $i < count($itemContents); $i++) {
55 | $items[] = array
56 | (
57 | 'class' => (($i == 0) ? 'first' : (($i == $limit) ? 'last' : '')),
58 | 'content' => $itemContents[$i]
59 | );
60 | }
61 |
62 | $this->Template->items = $items;
63 | $this->Template->tag = ($this->listType == 'ordered') ? 'ol' : 'ul';
64 | }
65 | else {
66 | $this->Template->items = $itemContents;
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/Element/NewsletterList.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class NewsletterList
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class NewsletterList extends Element
26 | {
27 |
28 | /**
29 | * HTML Template
30 | *
31 | * @var string
32 | */
33 | protected $templateHTML = 'nle_list_html';
34 |
35 | /**
36 | * Plain text Template
37 | *
38 | * @var string
39 | */
40 | protected $templatePlain = 'nle_list_plain';
41 |
42 |
43 | /**
44 | * Compile the current element
45 | */
46 | protected function compile($mode)
47 | {
48 | $items = array();
49 | $itemContents = deserialize($this->listItems);
50 |
51 | if ($mode == NL_HTML) {
52 | $limit = count($itemContents) - 1;
53 |
54 | for ($i = 0; $i < count($itemContents); $i++) {
55 | $items[] = array
56 | (
57 | 'class' => (($i == 0) ? 'first' : (($i == $limit) ? 'last' : '')),
58 | 'content' => $itemContents[$i]
59 | );
60 | }
61 |
62 | $this->Template->items = $items;
63 | $this->Template->tag = ($this->listType == 'ordered') ? 'ol' : 'ul';
64 | }
65 | else {
66 | $this->Template->items = $itemContents;
67 | }
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/dca/orm_avisota_recipient_remove.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Table orm_avisota_recipient_remove
19 | */
20 | $GLOBALS['TL_DCA']['orm_avisota_recipient_remove'] = array
21 | (
22 |
23 | // Config
24 | 'config' => array
25 | (
26 | 'dataContainer' => 'Memory',
27 | 'closed' => true,
28 | 'onsubmit_callback' => array
29 | (
30 | array('orm_avisota_recipient_remove', 'onsubmit_callback'),
31 | )
32 | ),
33 | // Palettes
34 | 'metapalettes' => array
35 | (
36 | 'default' => array
37 | (
38 | 'remove' => array('source', 'upload', 'emails')
39 | )
40 | ),
41 | // Fields
42 | 'fields' => array
43 | (
44 | 'source' => array
45 | (
46 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_remove']['source'],
47 | 'inputType' => 'fileTree',
48 | 'eval' => array('fieldType' => 'checkbox', 'files' => true, 'filesOnly' => true, 'extensions' => 'csv')
49 | ),
50 | 'upload' => array
51 | (
52 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_remove']['upload'],
53 | 'inputType' => 'upload'
54 | ),
55 | 'emails' => array
56 | (
57 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_remove']['emails'],
58 | 'inputType' => 'textarea'
59 | )
60 | )
61 | );
62 |
--------------------------------------------------------------------------------
/src/Event/CreateOptionsEvent.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Event;
17 |
18 | /**
19 | * Create options event.
20 | */
21 | class CreateOptionsEvent extends \ContaoCommunityAlliance\Contao\Events\CreateOptions\CreateOptionsEvent
22 | {
23 | protected $preventDefault = false;
24 |
25 | /**
26 | * CreateOptionsEvent constructor.
27 | *
28 | * @param \DataContainer $dataContainer
29 | * @param \ArrayObject|null $options
30 | *
31 | * Todo remove create options event
32 | */
33 | public function __construct($dataContainer, \ArrayObject $options = null)
34 | {
35 | $this->dataContainer = $dataContainer;
36 |
37 | if ($this->options) {
38 | $this->options = $options;
39 | } else {
40 | $this->options = new \ArrayObject();
41 | }
42 | }
43 |
44 | /**
45 | * Prevent default listeners.
46 | *
47 | * @return $this
48 | */
49 | public function preventDefault()
50 | {
51 | $this->preventDefault = true;
52 | return $this;
53 | }
54 |
55 | /**
56 | * Determine if default should prevented.
57 | *
58 | * @return bool
59 | */
60 | public function isDefaultPrevented()
61 | {
62 | return $this->preventDefault;
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/src/DataContainer/Settings.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\DataContainer;
17 |
18 | /**
19 | * Class Settings
20 | *
21 | * @package Avisota\Contao\Core\DataContainer
22 | */
23 | class Settings extends \Backend
24 | {
25 | /**
26 | * @SuppressWarnings(PHPMD.Superglobals)
27 | */
28 | public function onLoadCallback()
29 | {
30 | if (!is_dir(TL_ROOT . '/system/modules/avisota/highstock')
31 | || !is_file(TL_ROOT . '/system/modules/avisota/highstock/js/highstock.js')
32 | ) {
33 | $GLOBALS['TL_DCA']['tl_avisota_settings']
34 | ['fields']['avisota_chart_highstock_confirm']['input_field_callback'] =
35 | array(
36 | 'tl_avisota_settings',
37 | 'renderMissingHighstockField'
38 | );
39 | }
40 | }
41 |
42 | /**
43 | * @param \DataContainer $dc
44 | * @param $label
45 | *
46 | * @return mixed
47 | * @SuppressWarnings(PHPMD.Superglobals)
48 | * @SuppressWarnings(PHPMD.ShortVariable)
49 | * @SuppressWarnings(PHPMD.UnusedFormalParameter)
50 | */
51 | public function renderMissingHighstockField($dc, $label)
52 | {
53 | return $GLOBALS['TL_LANG']['tl_avisota_settings']['missing_highstock'];
54 | }
55 | }
56 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/en_/modules.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Back end modules
19 | */
20 | $GLOBALS['TL_LANG']['MOD']['avisota'] = 'Newsletter';
21 | $GLOBALS['TL_LANG']['MOD']['avisota_recipients'] = array('Subscribers', 'Manage Newsletter Subscribers');
22 | $GLOBALS['TL_LANG']['MOD']['avisota_newsletter'] = array('Newsletter', 'Manage and send newsletters to outbox.');
23 | $GLOBALS['TL_LANG']['MOD']['avisota_outbox'] = array('Outbox', 'View outbox and send newsletters to recipients');
24 | $GLOBALS['TL_LANG']['MOD']['avisota_translation'] = array(
25 | 'Language Variables',
26 | 'Change the language variables for the newsletter.'
27 | );
28 | $GLOBALS['TL_LANG']['MOD']['avisota_update'] = array('Update', 'Update the Avisota newsletter system.');
29 |
30 |
31 | /**
32 | * Front end modules
33 | */
34 | $GLOBALS['TL_LANG']['FMD']['avisota'] = 'Newsletter';
35 | $GLOBALS['TL_LANG']['FMD']['avisota_list'] = array(
36 | 'Newsletter list',
37 | 'Navigation list of all sended newsletters.'
38 | );
39 | $GLOBALS['TL_LANG']['FMD']['avisota_reader'] = array('Newsletter reader', 'Show a newsletter in a regular page.');
40 | $GLOBALS['TL_LANG']['FMD']['avisota_subscription'] = array(
41 | 'Manage Subscriptions',
42 | 'Login and Logout of the Newsletter System.'
43 | );
44 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de/tl_avisota_recipient_notify.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['recipient'] = array(
21 | 'Abonnent',
22 | 'Wählen Sie hier den Abonnenten aus.'
23 | );
24 | $GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['confirmations'] = array(
25 | 'Bestätigungen versenden',
26 | 'Noch nicht versendete Bestätiungsmails versenden.'
27 | );
28 | $GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['notifications'] = array(
29 | 'Erinnerungen versenden',
30 | 'Erinnerungen für noch nicht bestätigte Abonnements versenden.'
31 | );
32 | $GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['overdue'] = array(
33 | 'Überfällig',
34 | 'Überfällige Abonnements, für die eine Bestätigung- und alle Erinnerungen versendet wurden.'
35 | );
36 |
37 |
38 | /**
39 | * Reference
40 | */
41 | $GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['edit'] = 'Abonnent benachrichtigen';
42 | $GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['confirmationSent'] = 'Bestätigungsmail gesendet am %s';
43 | $GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['reminderSent'] = '%d. Erinnerung gesendet am %s';
44 |
45 |
46 | /**
47 | * Legends
48 | */
49 | $GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['notify_legend'] = 'Benachrichtung';
50 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/NewsletterImage.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class NewsletterImage
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class Image extends NewsletterElement
26 | {
27 |
28 | /**
29 | * HTML Template
30 | *
31 | * @var string
32 | */
33 | protected $templateHTML = 'nle_image_html';
34 |
35 | /**
36 | * Plain text Template
37 | *
38 | * @var string
39 | */
40 | protected $templatePlain = 'nle_image_plain';
41 |
42 |
43 | /**
44 | * Parse the html template
45 | *
46 | * @return string
47 | */
48 | public function generateHTML()
49 | {
50 | if (!strlen($this->singleSRC) || !is_file(TL_ROOT . '/' . $this->singleSRC)) {
51 | return '';
52 | }
53 |
54 | return parent::generateHTML();
55 | }
56 |
57 |
58 | /**
59 | * Parse the plain text template
60 | *
61 | * @return string
62 | */
63 | public function generatePlain()
64 | {
65 | if (!strlen($this->singleSRC) || !is_file(TL_ROOT . '/' . $this->singleSRC)) {
66 | return '';
67 | }
68 |
69 | return parent::generatePlain();
70 | }
71 |
72 |
73 | /**
74 | * Compile the current element
75 | */
76 | protected function compile($mode)
77 | {
78 | $this->addImageToTemplate($this->Template, $this->currentRecordData);
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de_/tl_user.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['tl_user']['avisota_recipient_lists'] = array(
21 | 'Erlaubte Abonnentenlisten',
22 | 'Hier können Sie den Zugriff auf einen oder mehrere Abonnentenlisten erlauben.'
23 | );
24 | $GLOBALS['TL_LANG']['tl_user']['avisota_recipient_list_permissions'] = array(
25 | 'Abonnentenlisten-Rechte',
26 | 'Hier können Sie die Abonnentenlisten-Rechte festlegen.'
27 | );
28 | $GLOBALS['TL_LANG']['tl_user']['avisota_recipient_permissions'] = array(
29 | 'Abonnenten-Rechte',
30 | 'Hier können Sie die Abonnenten-Rechte festlegen.'
31 | );
32 | $GLOBALS['TL_LANG']['tl_user']['avisota_newsletter_categories'] = array(
33 | 'Erlaubte Newsletterkategorien',
34 | 'Hier können Sie den Zugriff auf einen oder mehrere Newsletterkategorien erlauben.'
35 | );
36 | $GLOBALS['TL_LANG']['tl_user']['avisota_newsletter_category_permissions'] = array(
37 | 'Newsletterkategory-Rechte',
38 | 'Hier können Sie die Newsletterkategory-Rechte festlegen.'
39 | );
40 | $GLOBALS['TL_LANG']['tl_user']['avisota_newsletter_permissions'] = array(
41 | 'Newsletter-Rechte',
42 | 'Hier können Sie die Newsletter-Rechte festlegen.'
43 | );
44 |
45 |
46 | /**
47 | * Legends
48 | */
49 | $GLOBALS['TL_LANG']['tl_user']['avisota_legend'] = 'Avisota-Rechte';
50 |
--------------------------------------------------------------------------------
/src/Event/MailingListCreateLabelEvent.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Event;
17 |
18 | use Bit3\StringBuilder\StringBuilder;
19 | use Symfony\Component\EventDispatcher\Event;
20 |
21 | /**
22 | * The mailing list create label event.
23 | */
24 | class MailingListCreateLabelEvent extends Event
25 | {
26 | const NAME = 'Avisota\Contao\Core\Event\MailingListCreateLabel';
27 |
28 | /**
29 | * The row date.
30 | *
31 | * @var \ArrayObject
32 | */
33 | protected $row;
34 |
35 | /**
36 | * The label.
37 | *
38 | * @var StringBuilder
39 | */
40 | protected $label;
41 |
42 | /**
43 | * MailingListCreateLabelEvent constructor.
44 | *
45 | * @param \ArrayObject $row The row data.
46 | * @param StringBuilder $label The label.
47 | */
48 | public function __construct(\ArrayObject $row, StringBuilder $label)
49 | {
50 | $this->row = $row;
51 | $this->label = $label;
52 | }
53 |
54 | /**
55 | * Return the row data.
56 | *
57 | * @return \ArrayObject
58 | */
59 | public function getRow()
60 | {
61 | return $this->row;
62 | }
63 |
64 | /**
65 | * Return the label.
66 | *
67 | * @return StringBuilder
68 | */
69 | public function getLabel()
70 | {
71 | return $this->label;
72 | }
73 | }
74 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/Element/NewsletterImage.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class NewsletterImage
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class NewsletterImage extends Element
26 | {
27 |
28 | /**
29 | * HTML Template
30 | *
31 | * @var string
32 | */
33 | protected $templateHTML = 'nle_image_html';
34 |
35 | /**
36 | * Plain text Template
37 | *
38 | * @var string
39 | */
40 | protected $templatePlain = 'nle_image_plain';
41 |
42 |
43 | /**
44 | * Parse the html template
45 | *
46 | * @return string
47 | */
48 | public function generateHTML()
49 | {
50 | if (!strlen($this->singleSRC) || !is_file(TL_ROOT . '/' . $this->singleSRC)) {
51 | return '';
52 | }
53 |
54 | return parent::generateHTML();
55 | }
56 |
57 |
58 | /**
59 | * Parse the plain text template
60 | *
61 | * @return string
62 | */
63 | public function generatePlain()
64 | {
65 | if (!strlen($this->singleSRC) || !is_file(TL_ROOT . '/' . $this->singleSRC)) {
66 | return '';
67 | }
68 |
69 | return parent::generatePlain();
70 | }
71 |
72 |
73 | /**
74 | * Compile the current element
75 | */
76 | protected function compile($mode)
77 | {
78 | $this->addImageToTemplate($this->Template, $this->currentRecordData);
79 | }
80 | }
81 |
--------------------------------------------------------------------------------
/assets/js/functions.js:
--------------------------------------------------------------------------------
1 | function index_check(arrays, index) {
2 | for (var i = 0; i < arrays.length; i++) {
3 | if (index < arrays[i].length) return true;
4 | }
5 | return false;
6 | }
7 |
8 | function equalize(arrays) {
9 | var index = 0;
10 |
11 | while (index_check(arrays, index)) {
12 | var modified = false;
13 | for (var i = 0; i < arrays.length; i++) {
14 | var j = (i + 1) % arrays.length;
15 | var a = arrays[i][index];
16 | var b = arrays[j] ? arrays[j][index] : false;
17 | if (a && (!b || a[0] < b[0])) {
18 | arrays[j].splice(index, 0, [a[0], index > 0 ? arrays[j][index - 1][1] : 0]);
19 | modified = true;
20 | }
21 | }
22 | if (!modified) {
23 | index++;
24 | }
25 | }
26 | }
27 |
28 | function getRangeIndex(timespan) {
29 | // 1 month (more then 1 week)
30 | if (timespan >= 604800) {
31 | return 7;
32 | }
33 | // 1 week (more than 3 days)
34 | else if (timespan >= 259200) {
35 | return 6;
36 | }
37 | // 3 days (more than 2 days)
38 | else if (timespan >= 172800) {
39 | return 5;
40 | }
41 | // 2 days (more than 1 day)
42 | else if (timespan >= 86400) {
43 | return 4;
44 | }
45 | // 1 day (more than 12 hours)
46 | else if (timespan >= 43200) {
47 | return 3;
48 | }
49 | // 12 hours (more then 6 hours)
50 | else if (timespan >= 21600) {
51 | return 2;
52 | }
53 | // 6 hours (more than 1 hour)
54 | else if (timespan >= 3600) {
55 | return 1;
56 | }
57 | else {
58 | return 0;
59 | }
60 | }
61 |
--------------------------------------------------------------------------------
/src/RecipientSource/DummyFactory.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\RecipientSource;
17 |
18 | use Avisota\Contao\Core\CoreEvents;
19 | use Avisota\Contao\Core\Event\CreateRecipientSourceEvent;
20 | use Avisota\Contao\Entity\RecipientSource;
21 | use Avisota\RecipientSource\Dummy;
22 | use Symfony\Component\EventDispatcher\EventDispatcherInterface;
23 |
24 | /**
25 | * The dummy factory.
26 | */
27 | class DummyFactory implements RecipientSourceFactoryInterface
28 | {
29 | /**
30 | * Create the recipient source.
31 | *
32 | * @param RecipientSource $recipientSourceData The recipient source data.
33 | *
34 | * @return \Avisota\RecipientSource\RecipientSourceInterface
35 | *
36 | * @SuppressWarnings(PHPMD.Superglobals)
37 | */
38 | public function createRecipientSource(RecipientSource $recipientSourceData)
39 | {
40 | $recipientSourceDummy =
41 | new Dummy($recipientSourceData->getDummyMinCount(), $recipientSourceData->getDummyMaxCount());
42 |
43 | /** @var EventDispatcherInterface $eventDispatcher */
44 | $eventDispatcher = $GLOBALS['container']['event-dispatcher'];
45 |
46 | $event = new CreateRecipientSourceEvent($recipientSourceData, $recipientSourceDummy);
47 | $eventDispatcher->dispatch(CoreEvents::CREATE_RECIPIENT_SOURCE, $event);
48 |
49 | return $event->getRecipientSource();
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/dca/orm_avisota_recipient_migrate.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Table orm_avisota_recipient_migrate
19 | */
20 | $GLOBALS['TL_DCA']['orm_avisota_recipient_migrate'] = array
21 | (
22 |
23 | // Config
24 | 'config' => array
25 | (
26 | 'dataContainer' => 'Memory',
27 | 'closed' => true,
28 | 'onsubmit_callback' => array
29 | (
30 | array('orm_avisota_recipient_migrate', 'onsubmit_callback'),
31 | )
32 | ),
33 | // Palettes
34 | 'metapalettes' => array
35 | (
36 | 'default' => array
37 | (
38 | 'migrate' => array('source', 'personals', 'force')
39 | )
40 | ),
41 | // Fields
42 | 'fields' => array
43 | (
44 | 'source' => array
45 | (
46 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_migrate']['source'],
47 | 'inputType' => 'checkbox',
48 | 'foreignKey' => 'tl_newsletter_channel.title',
49 | 'eval' => array('mandatory' => true, 'multiple' => true)
50 | ),
51 | 'personals' => array
52 | (
53 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_migrate']['personals'],
54 | 'inputType' => 'checkbox',
55 | 'eval' => array('tl_class' => 'm12')
56 | ),
57 | 'force' => array
58 | (
59 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_migrate']['force'],
60 | 'inputType' => 'checkbox',
61 | 'eval' => array('tl_class' => 'm12')
62 | )
63 | )
64 | );
65 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de_/tl_user_group.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['tl_user_group']['avisota_recipient_lists'] = array(
21 | 'Erlaubte Abonnentenlisten',
22 | 'Hier können Sie den Zugriff auf einen oder mehrere Abonnentenlisten erlauben.'
23 | );
24 | $GLOBALS['TL_LANG']['tl_user_group']['avisota_recipient_list_permissions'] = array(
25 | 'Abonnentenlisten-Rechte',
26 | 'Hier können Sie die Abonnentenlisten-Rechte festlegen.'
27 | );
28 | $GLOBALS['TL_LANG']['tl_user_group']['avisota_recipient_permissions'] = array(
29 | 'Abonnenten-Rechte',
30 | 'Hier können Sie die Abonnenten-Rechte festlegen.'
31 | );
32 | $GLOBALS['TL_LANG']['tl_user_group']['avisota_newsletter_categories'] = array(
33 | 'Erlaubte Newsletterkategorien',
34 | 'Hier können Sie den Zugriff auf einen oder mehrere Newsletterkategorien erlauben.'
35 | );
36 | $GLOBALS['TL_LANG']['tl_user_group']['avisota_newsletter_category_permissions'] = array(
37 | 'Newsletterkategory-Rechte',
38 | 'Hier können Sie die Newsletterkategory-Rechte festlegen.'
39 | );
40 | $GLOBALS['TL_LANG']['tl_user_group']['avisota_newsletter_permissions'] = array(
41 | 'Newsletter-Rechte',
42 | 'Hier können Sie die Newsletter-Rechte festlegen.'
43 | );
44 |
45 |
46 | /**
47 | * Legends
48 | */
49 | $GLOBALS['TL_LANG']['tl_user_group']['avisota_legend'] = 'Avisota-Rechte';
50 |
--------------------------------------------------------------------------------
/src/Message/PreRenderedMessageTemplateInterface.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Message;
17 |
18 | use Avisota\Recipient\RecipientInterface;
19 | use Avisota\Templating\MessageTemplateInterface;
20 |
21 | /**
22 | * The pre defined renderer message template interface.
23 | */
24 | interface PreRenderedMessageTemplateInterface extends MessageTemplateInterface
25 | {
26 | /**
27 | * Return the content type.
28 | *
29 | * @return string
30 | */
31 | public function getContentType();
32 |
33 | /**
34 | * Return the content encoding.
35 | *
36 | * @return string
37 | */
38 | public function getContentEncoding();
39 |
40 | /**
41 | * Get a name descriptor (file name) for this content,
42 | * e.g. "newsletter-hello-world.html".
43 | *
44 | * @return string
45 | */
46 | public function getContentName();
47 |
48 | /**
49 | * Get the (binary) content.
50 | *
51 | * @return string
52 | */
53 | public function getContent();
54 |
55 | /**
56 | * Render a preview.
57 | *
58 | * @param RecipientInterface $recipient The recipient.
59 | *
60 | * @param array $additionalData The additional data.
61 | *
62 | * @return mixed The content only, not a message.
63 | */
64 | public function renderPreview(RecipientInterface $recipient, array $additionalData = array());
65 | }
66 |
--------------------------------------------------------------------------------
/contao/languages/en/tl_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 |
7 |
8 |
9 | Please choose the default transport module.
10 |
11 |
12 |
13 | Developer mode
14 |
15 |
16 |
17 | Enable the developer mode.
18 |
19 |
20 |
21 | Developer email address
22 |
23 |
24 |
25 | Please enter the email address to use for every email in developer mode.
26 |
27 |
28 |
29 | Avisota system settings
30 |
31 |
32 |
33 | Transport
34 |
35 |
36 |
37 | Developer
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/contao/languages/es/tl_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 |
7 |
8 |
9 | Please choose the default transport module.
10 |
11 |
12 |
13 | Developer mode
14 |
15 |
16 |
17 | Enable the developer mode.
18 |
19 |
20 |
21 | Developer email address
22 |
23 |
24 |
25 | Please enter the email address to use for every email in developer mode.
26 |
27 |
28 |
29 | Avisota system settings
30 |
31 |
32 |
33 | Transport
34 |
35 |
36 |
37 | Developer
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/contao/languages/en/tl_avisota_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 |
7 |
8 |
9 | Please choose the default transport module.
10 |
11 |
12 |
13 | Developer mode
14 |
15 |
16 |
17 | Enable the developer mode.
18 |
19 |
20 |
21 | Developer email address
22 |
23 |
24 |
25 | Please enter the email address to use for every email in developer mode.
26 |
27 |
28 |
29 | Avisota system settings
30 |
31 |
32 |
33 | Transport
34 |
35 |
36 |
37 | Developer
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/contao/languages/es/tl_avisota_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 |
7 |
8 |
9 | Please choose the default transport module.
10 |
11 |
12 |
13 | Developer mode
14 |
15 |
16 |
17 | Enable the developer mode.
18 |
19 |
20 |
21 | Developer email address
22 |
23 |
24 |
25 | Please enter the email address to use for every email in developer mode.
26 |
27 |
28 |
29 | Avisota system settings
30 |
31 |
32 |
33 | Transport
34 |
35 |
36 |
37 | Developer
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/contao/languages/it/avisota_promotion.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | <img src="assets/avisota/core/images/donate.svg" alt=""> Avisota is an Open Source project.<br><a href="http://avisota.org" target="_blank">Donate</a> and keep the project alive!
6 | <img src="assets/avisota/core/images/donate.svg" alt=""> Avisota è un progetto Open Source<br><a href="http://avisota.org" target="_blank">Dona</a> e mantieni il progetto vivo!
7 |
8 |
9 |
10 | <img src="assets/avisota/core/images/opensource.svg" alt=""> Avisota is an Open Source project.<br><a href="https://github.com/avisota" target="_blank">View and validate the source online!</a>
11 |
12 |
13 |
14 | <img src="assets/avisota/core/images/partners.svg" alt=""> <a href="http://avisota.org/de/netzwerk/partner" target="_blank">Avisota is backed by many partners.</a><br><a href="http://avisota.org/de/netzwerk/partner#partner-werden" target="_blank">Fill out application and back the project!</a>!
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/contao/languages/pt_BR/tl_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 |
7 |
8 |
9 | Please choose the default transport module.
10 |
11 |
12 |
13 | Developer mode
14 |
15 |
16 |
17 | Enable the developer mode.
18 |
19 |
20 |
21 | Developer email address
22 |
23 |
24 |
25 | Please enter the email address to use for every email in developer mode.
26 |
27 |
28 |
29 | Avisota system settings
30 |
31 |
32 |
33 | Transport
34 |
35 |
36 |
37 | Developer
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/contao/languages/ru_RU/tl_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 |
7 |
8 |
9 | Please choose the default transport module.
10 |
11 |
12 |
13 | Developer mode
14 |
15 |
16 |
17 | Enable the developer mode.
18 |
19 |
20 |
21 | Developer email address
22 |
23 |
24 |
25 | Please enter the email address to use for every email in developer mode.
26 |
27 |
28 |
29 | Avisota system settings
30 |
31 |
32 |
33 | Transport
34 |
35 |
36 |
37 | Developer
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/contao/languages/ru_RU/tl_avisota_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 |
7 |
8 |
9 | Please choose the default transport module.
10 |
11 |
12 |
13 | Developer mode
14 |
15 |
16 |
17 | Enable the developer mode.
18 |
19 |
20 |
21 | Developer email address
22 |
23 |
24 |
25 | Please enter the email address to use for every email in developer mode.
26 |
27 |
28 |
29 | Avisota system settings
30 |
31 |
32 |
33 | Transport
34 |
35 |
36 |
37 | Developer
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/contao/languages/rm/avisota_promotion.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | <img src="assets/avisota/core/images/donate.svg" alt=""> Avisota is an Open Source project.<br><a href="http://avisota.org" target="_blank">Donate</a> and keep the project alive!
6 | <img src="assets/avisota/core/images/donate.svg" alt="">Avisota è in project dad Open Source.<br><a href="http://avisota.org" target="_blank">Donescha</a> e procura che il project haja in futur!
7 |
8 |
9 |
10 | <img src="assets/avisota/core/images/opensource.svg" alt=""> Avisota is an Open Source project.<br><a href="https://github.com/avisota" target="_blank">View and validate the source online!</a>
11 |
12 |
13 |
14 | <img src="assets/avisota/core/images/partners.svg" alt=""> <a href="http://avisota.org/de/netzwerk/partner" target="_blank">Avisota is backed by many partners.</a><br><a href="http://avisota.org/de/netzwerk/partner#partner-werden" target="_blank">Fill out application and back the project!</a>!
15 |
16 |
17 |
18 |
19 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/de/tl_avisota_recipient_migrate.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['orm_avisota_recipient_migrate']['source'] = array(
21 | 'Newsletter',
22 | 'Wählen Sie hier die den Newsletter aus, aus dem Sie Abonnenten migrieren möchten.'
23 | );
24 | $GLOBALS['TL_LANG']['orm_avisota_recipient_migrate']['personals'] = array(
25 | 'Persönliche Daten übernehmen',
26 | 'Übernimmt vorhandene persönliche Daten aus der Mitgliedertabelle.'
27 | );
28 | $GLOBALS['TL_LANG']['orm_avisota_recipient_migrate']['force'] = array(
29 | 'Migration erzwingen',
30 | 'Warnung: Sie sollten den Wunsch eines Abonnenten Ihren Newsletter nicht mehr erhalten zu wollen respektieren, es besteht die Möglichkeit dass Sie rechtliche Konsequenzen zu befürchten haben, lassen Sie sich diesbezüglich von einem Anwalt beraten! Nutzen Sie diese Option mit Bedacht und nur dann, wenn Sie wissen was Sie tun! Wählen Sie diese Option, wird die interne Blacklist ignoriert. Die Blacklist sorgt dafür, dass Abonnenten die sich abgemeldet haben nicht durch den Import wieder hinzugefügt werden.'
31 | );
32 |
33 |
34 | /**
35 | * Reference
36 | */
37 | $GLOBALS['TL_LANG']['orm_avisota_recipient_migrate']['migrated'] = '%s Abonnenten wurden migriert.';
38 | $GLOBALS['TL_LANG']['orm_avisota_recipient_migrate']['edit'] = 'Abonnenten migrieren';
39 |
40 |
41 | /**
42 | * Legends
43 | */
44 | $GLOBALS['TL_LANG']['orm_avisota_recipient_migrate']['migrate_legend'] = 'Abonnenten migrieren';
45 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/templates_/avisota_subscription_default.html5:
--------------------------------------------------------------------------------
1 |
2 |
42 |
--------------------------------------------------------------------------------
/src/Event/BaseCreateRecipientEvent.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Event;
17 |
18 | use Avisota\Contao\Entity\Message;
19 | use Avisota\Recipient\RecipientInterface;
20 | use Symfony\Component\EventDispatcher\Event;
21 |
22 | /**
23 | * The base create recipient event.
24 | */
25 | class BaseCreateRecipientEvent extends Event
26 | {
27 | /**
28 | * The message.
29 | *
30 | * @var Message|null
31 | */
32 | protected $message;
33 |
34 | /**
35 | * The recipient.
36 | *
37 | * @var RecipientInterface
38 | */
39 | protected $recipient;
40 |
41 | /**
42 | * CreateFakeRecipientEvent constructor.
43 | *
44 | * @param Message|null $message
45 | */
46 | public function __construct(Message $message = null)
47 | {
48 | $this->message = $message;
49 | }
50 |
51 | /**
52 | * Get the message.
53 | *
54 | * @return Message|null
55 | */
56 | public function getMessage()
57 | {
58 | return $this->message;
59 | }
60 |
61 | /**
62 | * Get the recipient.
63 | *
64 | * @return RecipientInterface
65 | */
66 | public function getRecipient()
67 | {
68 | return $this->recipient;
69 | }
70 |
71 | /**
72 | * Set the recipient.
73 | *
74 | * @param RecipientInterface $recipient
75 | *
76 | * @return $this
77 | */
78 | public function setRecipient(RecipientInterface $recipient)
79 | {
80 | $this->recipient = $recipient;
81 | return $this;
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/src/Backend/MailingList.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Backend;
17 |
18 | use Avisota\Contao\Core\Event\MailingListCreateLabelEvent;
19 | use Bit3\StringBuilder\StringBuilder;
20 | use Symfony\Component\EventDispatcher\EventDispatcherInterface;
21 |
22 | /**
23 | * The avisota core mailing list.
24 | */
25 | class MailingList extends \Backend
26 | {
27 | /**
28 | * Import the back end user object
29 | */
30 | public function __construct()
31 | {
32 | parent::__construct();
33 | }
34 |
35 | /**
36 | * Get mailing list label for each row.
37 | *
38 | * @param array $rowData The row.
39 | * @param string $label The label.
40 | * @param \DataContainer $dc The data container.
41 | *
42 | * @return string
43 | *
44 | * @SuppressWarnings(PHPMD.Superglobals)
45 | * @SuppressWarnings(PHPMD.ShortVariable)
46 | * @SuppressWarnings(PHPMD.UnusedFormalParameter)
47 | *
48 | * todo handle this by event
49 | */
50 | public function getLabel($rowData, $label, $dc)
51 | {
52 | $label = new StringBuilder('' . $label . '
');
53 |
54 | $event = new MailingListCreateLabelEvent(new \ArrayObject($rowData), $label);
55 |
56 | /** @var EventDispatcherInterface $eventDispatcher */
57 | $eventDispatcher = $GLOBALS['container']['event-dispatcher'];
58 | $eventDispatcher->dispatch(MailingListCreateLabelEvent::NAME, $event);
59 |
60 | return (string) $label;
61 | }
62 | }
63 |
--------------------------------------------------------------------------------
/contao/languages/pt_BR/tl_avisota_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 | Módulo de transporte padrão
7 |
8 |
9 |
10 | Please choose the default transport module.
11 | Por favor, escolha o módulo de transporte padrão.
12 |
13 |
14 |
15 | Developer mode
16 |
17 |
18 |
19 | Enable the developer mode.
20 |
21 |
22 |
23 | Developer email address
24 |
25 |
26 |
27 | Please enter the email address to use for every email in developer mode.
28 |
29 |
30 |
31 | Avisota system settings
32 |
33 |
34 |
35 | Transport
36 |
37 |
38 |
39 | Developer
40 |
41 |
42 |
43 |
44 |
--------------------------------------------------------------------------------
/contao/templates/avisota/backend/outbox.html5.twig:
--------------------------------------------------------------------------------
1 | {% spaceless %}
2 |
3 |
5 |
6 |
7 | {{ _lang.avisota_outbox.headline }}
8 |
9 | {{ messages() }}
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 | | {{ _lang.avisota_outbox.col_name }} |
20 | {{ _lang.avisota_outbox.col_length }} |
21 | {{ _lang.avisota_outbox.col_action }} |
22 |
23 | {% for index, item in items %}
24 |
25 | | {{ item.meta.title }} |
26 | {{ item.queue.length }} |
27 |
28 | {% if item.queue.length and item.meta.allowManualSending %}
29 |
30 | {{ image('assets/avisota/core/images/queue_execute.png') }}
31 |
32 | {% else %}
33 | {{ image('assets/avisota/core/images/queue_execute_.png') }}
34 | {% endif %}
35 | |
36 |
37 | {% endfor %}
38 |
39 |
40 |
41 | {% endspaceless %}
42 |
--------------------------------------------------------------------------------
/src/Event/BaseSendImmediateEvent.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Event;
17 |
18 | use Avisota\Contao\Entity\Message;
19 | use Symfony\Component\EventDispatcher\Event;
20 |
21 | /**
22 | * The base send immediate event.
23 | */
24 | class BaseSendImmediateEvent extends Event
25 | {
26 | /**
27 | * The message.
28 | *
29 | * @var Message
30 | */
31 | protected $message;
32 |
33 | /**
34 | * The turn step.
35 | *
36 | * @var integer
37 | */
38 | protected $turn;
39 |
40 | /**
41 | * The unique loop id.
42 | *
43 | * @var string
44 | */
45 | protected $loop;
46 |
47 | /**
48 | * BaseSendImmediateEvent constructor.
49 | *
50 | * @param Message $message The message.
51 | * @param integer $turn The turn step.
52 | * @param string $loop The unique loop id.
53 | *
54 | * Fixme who message isn´t instance of Message
55 | */
56 | public function __construct($message, $turn, $loop)
57 | {
58 | $this->message = $message;
59 | $this->turn = $turn;
60 | $this->loop = $loop;
61 | }
62 |
63 | /**
64 | * Get the message.
65 | *
66 | * @return Message
67 | */
68 | public function getMessage()
69 | {
70 | return $this->message;
71 | }
72 |
73 | /**
74 | * Get the turn step.
75 | *
76 | * @return integer
77 | */
78 | public function getTurn()
79 | {
80 | return $this->turn;
81 | }
82 |
83 | /**
84 | * Get the loop unique id.
85 | *
86 | * @return string
87 | */
88 | public function getLoop()
89 | {
90 | return $this->loop;
91 | }
92 | }
93 |
--------------------------------------------------------------------------------
/contao/languages/it/tl_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 |
7 |
8 |
9 | Please choose the default transport module.
10 |
11 |
12 |
13 | Developer mode
14 | Modalità svilluppatore
15 |
16 |
17 |
18 | Enable the developer mode.
19 | Abilità la modalità svilluppatore.
20 |
21 |
22 |
23 | Developer email address
24 | Indirizzo email svilluppatore
25 |
26 |
27 |
28 | Please enter the email address to use for every email in developer mode.
29 |
30 |
31 |
32 | Avisota system settings
33 | Impostazioni di sistema Avisota
34 |
35 |
36 |
37 | Transport
38 |
39 |
40 |
41 | Developer
42 | Svilluppatore
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/contao/languages/it/tl_avisota_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 |
7 |
8 |
9 | Please choose the default transport module.
10 |
11 |
12 |
13 | Developer mode
14 | Modalità svilluppatore
15 |
16 |
17 |
18 | Enable the developer mode.
19 | Abilità la modalità svilluppatore.
20 |
21 |
22 |
23 | Developer email address
24 | Indirizzo email svilluppatore
25 |
26 |
27 |
28 | Please enter the email address to use for every email in developer mode.
29 |
30 |
31 |
32 | Avisota system settings
33 | Impostazioni di sistema Avisota
34 |
35 |
36 |
37 | Transport
38 |
39 |
40 |
41 | Developer
42 | Svilluppatore
43 |
44 |
45 |
46 |
47 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/en_/default.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Page types
19 | */
20 | $GLOBALS['TL_LANG']['PTY']['avisota'] = array('Newsletter', 'Displays any newsletter from the Newsletter System.');
21 |
22 |
23 | /**
24 | * Newsletter content elements
25 | */
26 | $GLOBALS['TL_LANG']['MCE']['texts'] = 'Text-Element';
27 | $GLOBALS['TL_LANG']['MCE']['headline'] = array('Headline', 'Creates a Heading (h1 - h6).');
28 | $GLOBALS['TL_LANG']['MCE']['text'] = array('Text', 'Creates a Rich-Text-Element.');
29 | $GLOBALS['TL_LANG']['MCE']['list'] = array('List', 'Creates an ordered or unordered list.');
30 | $GLOBALS['TL_LANG']['MCE']['table'] = array('Table', 'Creates an optional sortable table.');
31 | $GLOBALS['TL_LANG']['MCE']['links'] = 'Link-Element';
32 | $GLOBALS['TL_LANG']['MCE']['hyperlink'] = array('Hyperlink', 'Creates a link to another web page.');
33 | $GLOBALS['TL_LANG']['MCE']['images'] = 'Image Elements';
34 | $GLOBALS['TL_LANG']['MCE']['image'] = array('Image', 'Creates a single image.');
35 | $GLOBALS['TL_LANG']['MCE']['gallery'] = array('Gallery', 'Creates a gallery of images.');
36 | $GLOBALS['TL_LANG']['MCE']['files'] = 'Attached files';
37 | $GLOBALS['TL_LANG']['MCE']['download'] = array('Download', 'Creates a link to a download file.');
38 | $GLOBALS['TL_LANG']['MCE']['downloads'] = array('Downloads', 'Creates links for multiple download files.');
39 | $GLOBALS['TL_LANG']['MCE']['includes'] = 'Include-Elemente';
40 | $GLOBALS['TL_LANG']['MCE']['news'] = array('News', 'Inserts a news teaser.');
41 | $GLOBALS['TL_LANG']['MCE']['events'] = array('Events', 'Inserts an event teaser.');
42 | $GLOBALS['TL_LANG']['MCE']['article'] = array('Article', 'Inserts an article teaser.');
43 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/NewsletterText.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class Text
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class NewsletterText extends Element
26 | {
27 |
28 | /**
29 | * HTML Template
30 | *
31 | * @var string
32 | */
33 | protected $templateHTML = 'nle_text_html';
34 |
35 | /**
36 | * Plain text Template
37 | *
38 | * @var string
39 | */
40 | protected $templatePlain = 'nle_text_plain';
41 |
42 | /**
43 | * Compile the current element
44 | */
45 | protected function compile($mode)
46 | {
47 | $this->import('String');
48 |
49 | switch ($mode) {
50 | case NL_HTML:
51 | // Clean RTE output
52 | $this->Template->text = str_ireplace
53 | (
54 | array('', '', '', '
', ' target="_self"'),
55 | array('', '', "\n", "
\n", ''),
56 | $this->String->encodeEmail($this->text)
57 | );
58 | break;
59 |
60 | case NL_PLAIN:
61 | if ($this->plain) {
62 | $this->Template->text = $this->plain;
63 | }
64 | else {
65 | $this->Template->text = $this->getPlainFromHTML($this->text);
66 | }
67 | }
68 |
69 | $this->Template->addImage = false;
70 |
71 | // Add image
72 | if ($this->addImage && strlen($this->singleSRC) && is_file(TL_ROOT . '/' . $this->singleSRC)) {
73 | $this->addImageToTemplate($this->Template, $this->currentRecordData);
74 |
75 | $this->Template->src = $this->extendURL($this->Template->src);
76 | if ($this->Template->href) {
77 | $this->Template->href = $this->extendURL($this->Template->href);
78 | }
79 | }
80 | }
81 | }
82 |
--------------------------------------------------------------------------------
/src/Message/ContaoAwareNativeMessage.php:
--------------------------------------------------------------------------------
1 |
10 | * @package avisota/contao-core
11 | * @license LGPL-3.0+
12 | * @link http://avisota.org
13 | */
14 |
15 | namespace Avisota\Contao\Core\Message;
16 |
17 | use Avisota\Contao\Entity\Message;
18 | use Avisota\Message\NativeMessage;
19 | use Avisota\Recipient\RecipientInterface;
20 |
21 | /**
22 | * A native swift message with additional data.
23 | */
24 | class ContaoAwareNativeMessage extends NativeMessage
25 | {
26 | /**
27 | * The swift message.
28 | *
29 | * @var Message
30 | */
31 | protected $contaoMessage;
32 |
33 | /**
34 | * The contao internal recipients.
35 | *
36 | * @var array|RecipientInterface[]
37 | */
38 | protected $internalRecipients;
39 |
40 | /**
41 | * @param \Swift_Message $message The message.
42 | * @param Message $contaoMessage The contao message.
43 | * @param array $internalRecipients The internal recipients.
44 | *
45 | * @internal param array|\Avisota\Recipient\RecipientInterface[] $recipients
46 | */
47 | public function __construct(\Swift_Message $message, Message $contaoMessage, array $internalRecipients)
48 | {
49 | parent::__construct($message);
50 |
51 | $this->contaoMessage = $contaoMessage;
52 | $this->internalRecipients = $internalRecipients;
53 | }
54 |
55 | /**
56 | * Get the contao message.
57 | *
58 | * @return \Avisota\Contao\Entity\Message
59 | */
60 | public function getContaoMessage()
61 | {
62 | return $this->contaoMessage;
63 | }
64 |
65 | /**
66 | * Get internal recipients.
67 | *
68 | * @return array|\Avisota\Recipient\RecipientInterface[]
69 | */
70 | public function getInternalRecipients()
71 | {
72 | return $this->internalRecipients;
73 | }
74 | }
75 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/Element/Text.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | namespace Avisota\Contao\Core\Message\Element;
18 |
19 | use Avisota\Contao\Entity\MessageContent;
20 | use Avisota\Contao\Core\Message\Renderer;
21 | use Avisota\Recipient\RecipientInterface;
22 | use Contao\Doctrine\ORM\Entity;
23 |
24 |
25 | /**
26 | * Class Text
27 | *
28 | *
29 | * @copyright way.vision 2015
30 | * @author Sven Baumann
31 | * @package avisota/contao-core
32 | */
33 | class Text implements ElementInterface
34 | {
35 | /**
36 | * @var string
37 | */
38 | const TEMPLATE = 'mce_text';
39 |
40 | /**
41 | * Parse and generate the element.
42 | *
43 | * @param MessageContent $messageContent
44 | *
45 | * @return string
46 | */
47 | public function generate($mode, MessageContent $messageContent, RecipientInterface $recipient = null)
48 | {
49 | $space = deserialize($messageContent->getSpace());
50 | $cssID = deserialize($messageContent->getCssID(), true);
51 |
52 | $headline = deserialize($messageContent->getHeadline());
53 | $hl = is_array($headline) ? $headline['unit'] : 'h1';
54 | $headline = is_array($headline) ? $headline['value'] : $headline;
55 |
56 | $string = \String::getInstance();
57 |
58 | $context = $messageContent->toArray(Entity::REF_INCLUDE);
59 |
60 | switch ($mode) {
61 | case Renderer::MODE_HTML:
62 | // Clean RTE output
63 | $context['text'] = $string->encodeEmail($context['text']);
64 | break;
65 |
66 | case Renderer::MODE_PLAIN:
67 | if (!$context['plain']) {
68 | $context['plain'] = $this->getPlainFromHTML($context['plain']);
69 | }
70 | }
71 |
72 | $template = new \TwigTemplate(static::TEMPLATE, $mode);
73 | return $template->parse($context);
74 | }
75 | }
76 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/dca/orm_avisota_newsletter_create_from_draft.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Table orm_avisota_message_create_from_draft
19 | */
20 | $GLOBALS['TL_DCA']['orm_avisota_message_create_from_draft'] = array
21 | (
22 |
23 | // Config
24 | 'config' => array
25 | (
26 | 'dataContainer' => 'Memory',
27 | 'closed' => true,
28 | 'onload_callback' => array
29 | (
30 | array('orm_avisota_message_create_from_draft', 'onload_callback'),
31 | ),
32 | 'onsubmit_callback' => array
33 | (
34 | array('orm_avisota_message_create_from_draft', 'onsubmit_callback'),
35 | )
36 | ),
37 | // Palettes
38 | 'metapalettes' => array
39 | (
40 | 'default' => array(
41 | 'create' => array('category', 'subject', 'draft')
42 | )
43 | ),
44 | // Fields
45 | 'fields' => array
46 | (
47 | 'category' => array
48 | (
49 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_message_create_from_draft']['category'],
50 | 'inputType' => 'select',
51 | 'foreignKey' => 'orm_avisota_message_category.title',
52 | 'eval' => array(
53 | 'mandatory' => true,
54 | 'tl_class' => 'w50'
55 | )
56 | ),
57 | 'subject' => array
58 | (
59 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_message_create_from_draft']['subject'],
60 | 'inputType' => 'text',
61 | 'eval' => array(
62 | 'mandatory' => true,
63 | 'tl_class' => 'w50'
64 | )
65 | ),
66 | 'draft' => array
67 | (
68 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_message_create_from_draft']['draft'],
69 | 'inputType' => 'radio',
70 | 'foreignKey' => 'orm_avisota_message_draft.title',
71 | 'eval' => array(
72 | 'mandatory' => true,
73 | 'tl_class' => 'clr'
74 | )
75 | )
76 | )
77 | );
78 |
--------------------------------------------------------------------------------
/src/RecipientSource/UnionFactory.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\RecipientSource;
17 |
18 | use Avisota\Contao\Core\CoreEvents;
19 | use Avisota\Contao\Core\Event\CreateRecipientSourceEvent;
20 | use Avisota\Contao\Entity\RecipientSource;
21 | use Avisota\RecipientSource\Union;
22 | use Symfony\Component\EventDispatcher\EventDispatcherInterface;
23 |
24 | /**
25 | * The union factory.
26 | */
27 | class UnionFactory implements RecipientSourceFactoryInterface
28 | {
29 | /**
30 | * Create the recipient source.
31 | *
32 | * @param RecipientSource $recipientSourceData
33 | *
34 | * @return \Avisota\RecipientSource\RecipientSourceInterface
35 | *
36 | * @SuppressWarnings(PHPMD.Superglobals)
37 | */
38 | public function createRecipientSource(RecipientSource $recipientSourceData)
39 | {
40 | global $container;
41 |
42 | $clean = $recipientSourceData->getUnionClean();
43 | $recipientSourceIds = $recipientSourceData->getUnionRecipientSources();
44 |
45 | $unionRecipientSource = new Union();
46 | $unionRecipientSource->setClean($clean);
47 |
48 | foreach ($recipientSourceIds as $recipientSourceId) {
49 | $recipientSource = $container[sprintf('avisota.recipientSource.%s', $recipientSourceId)];
50 | $unionRecipientSource->addRecipientSource($recipientSource);
51 | }
52 |
53 | /** @var EventDispatcherInterface $eventDispatcher */
54 | $eventDispatcher = $GLOBALS['container']['event-dispatcher'];
55 |
56 | $event = new CreateRecipientSourceEvent($recipientSourceData, $unionRecipientSource);
57 | $eventDispatcher->dispatch(CoreEvents::CREATE_RECIPIENT_SOURCE, $event);
58 |
59 | return $event->getRecipientSource();
60 | }
61 | }
62 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/PageAvisotaNewsletter.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Class PageAvisotaNewsletter
19 | *
20 | *
21 | * @copyright way.vision 2015
22 | * @author Sven Baumann
23 | * @package avisota/contao-core
24 | */
25 | class PageAvisotaNewsletter extends Frontend
26 | {
27 | /**
28 | * @var AvisotaNewsletterContent
29 | */
30 | protected $Content;
31 |
32 | /**
33 | * Generate a newsletter
34 | *
35 | * @param object
36 | */
37 | public function generate(Database_Result $pageResultSet)
38 | {
39 | // Define the static URL constants
40 | define('TL_FILES_URL', ($pageResultSet->staticFiles != '' && !$GLOBALS['TL_CONFIG']['debugMode'])
41 | ? $pageResultSet->staticFiles . TL_PATH . '/' : '');
42 | define('TL_SCRIPT_URL', ($pageResultSet->staticSystem != '' && !$GLOBALS['TL_CONFIG']['debugMode'])
43 | ? $pageResultSet->staticSystem . TL_PATH . '/' : '');
44 | define('TL_PLUGINS_URL', ($pageResultSet->staticPlugins != '' && !$GLOBALS['TL_CONFIG']['debugMode'])
45 | ? $pageResultSet->staticPlugins . TL_PATH . '/' : '');
46 |
47 | $this->import('AvisotaNewsletterContent', 'Content');
48 |
49 | // force all URLs absolute
50 | $GLOBALS['TL_CONFIG']['forceAbsoluteDomainLink'] = true;
51 |
52 | $newsletterId = $this->Input->get('item') ? $this->Input->get('item') : $this->Input->get('items');
53 | $newsletterContent = $this->Content->generateOnlineNewsletter($newsletterId);
54 |
55 | if ($newsletterContent) {
56 | header('Content-Type: text/html; charset=utf-8');
57 | echo $newsletterContent;
58 | exit;
59 | }
60 |
61 | $this->redirect(
62 | $this->generateFrontendUrl(
63 | $this
64 | ->getPageDetails($pageResultSet->jumpBack ? $pageResultSet->jumpBack : $pageResultSet->pid)
65 | ->row()
66 | )
67 | );
68 | }
69 | }
70 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/dca/orm_avisota_recipient_export.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Table orm_avisota_recipient_export
19 | */
20 | $GLOBALS['TL_DCA']['orm_avisota_recipient_export'] = array
21 | (
22 |
23 | // Config
24 | 'config' => array
25 | (
26 | 'dataContainer' => 'Memory',
27 | 'closed' => true,
28 | 'onload_callback' => array
29 | (
30 | array('orm_avisota_recipient_export', 'onload_callback'),
31 | ),
32 | 'onsubmit_callback' => array
33 | (
34 | array('orm_avisota_recipient_export', 'onsubmit_callback'),
35 | )
36 | ),
37 | // Palettes
38 | 'metapalettes' => array
39 | (
40 | 'default' => array
41 | (
42 | 'format' => array(':hide', 'delimiter', 'enclosure', 'fields')
43 | )
44 | ),
45 | // Fields
46 | 'fields' => array
47 | (
48 | 'delimiter' => array
49 | (
50 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_export']['delimiter'],
51 | 'inputType' => 'select',
52 | 'options' => array('comma', 'semicolon', 'tabulator', 'linebreak'),
53 | 'reference' => &$GLOBALS['TL_LANG']['MSC'],
54 | 'eval' => array('mandatory' => true, 'tl_class' => 'w50')
55 | ),
56 | 'enclosure' => array
57 | (
58 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_export']['enclosure'],
59 | 'inputType' => 'select',
60 | 'options' => array('double', 'single'),
61 | 'reference' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_export'],
62 | 'eval' => array('tl_class' => 'w50')
63 | ),
64 | 'fields' => array
65 | (
66 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_export']['fields'],
67 | 'inputType' => 'checkboxWizard',
68 | 'options_callback' => array('orm_avisota_recipient_export', 'getFields'),
69 | 'eval' => array('multiple' => true, 'tl_class' => 'clr')
70 | )
71 | )
72 | );
73 |
--------------------------------------------------------------------------------
/contao/languages/pt_BR/avisota_promotion.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | <img src="assets/avisota/core/images/donate.svg" alt=""> Avisota is an Open Source project.<br><a href="http://avisota.org" target="_blank">Donate</a> and keep the project alive!
6 | <img src="assets/avisota/core/images/donate.svg" alt=""> Avisota é um projeto Open Source. <br><a href="http://avisota.org" target="_blank">Doe</a> e mantenha o projeto vivo!
7 |
8 |
9 |
10 | <img src="assets/avisota/core/images/opensource.svg" alt=""> Avisota is an Open Source project.<br><a href="https://github.com/avisota" target="_blank">View and validate the source online!</a>
11 |
12 |
13 |
14 | <img src="assets/avisota/core/images/partners.svg" alt=""> <a href="http://avisota.org/de/netzwerk/partner" target="_blank">Avisota is backed by many partners.</a><br><a href="http://avisota.org/de/netzwerk/partner#partner-werden" target="_blank">Fill out application and back the project!</a>!
15 | <img src="assets/avisota/core/images/partners.svg" alt=""> <a href="http://avisota.org/de/netzwerk/partner" target="_blank"> Avisota é apoiada por muitos parceiros.</a> <br><a href="http://avisota.org/de/netzwerk/partner#partner-werden" target="_blank"> preencha o pedido e apoie o projeto!</a>!
16 |
17 |
18 |
19 |
20 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/languages/en_/tl_avisota_recipient.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Fields
19 | */
20 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['email'] = array('E-Mail', 'Specify email address.');
21 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['confirmed'] = array('Activate', 'Un-Check to deactivate this subscriber.');
22 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['token'] = array(
23 | 'Token ',
24 | 'The auth token is the double opt-in method used.'
25 | );
26 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['addedOn'] = array('Joined ', 'The date of the subscription.');
27 |
28 |
29 | /**
30 | * Legends
31 | */
32 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['recipient_legend'] = 'Subscriber';
33 |
34 |
35 | /**
36 | * Reference
37 | */
38 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['subscribed'] = 'registered on %s';
39 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['manually'] = 'added manually';
40 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['confirm'] = '%s new recipients have been imported.';
41 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['invalid'] = '%s invalid entries have been skipped.';
42 |
43 |
44 | /**
45 | * Buttons
46 | */
47 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['new'] = array('New Subscriber ', 'Create a new subscriber');
48 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['show'] = array(
49 | 'Subscriber Details ',
50 | ' Details of the subscriber ID %s'
51 | );
52 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['copy'] = array('Copy Subscriber ', 'Copy subscriber ID %s');
53 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['delete'] = array('Delete Subscriber', 'Delete subscriber ID %s');
54 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['edit'] = array('Edit Subscriber', 'Edit details of subscriber ID %s');
55 | $GLOBALS['TL_LANG']['orm_avisota_recipient']['import'] = array('CSV Import', 'Import recipients from a CSV file');
56 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/dca/orm_avisota_recipient_notify.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 |
17 | /**
18 | * Table orm_avisota_recipient_notify
19 | */
20 | $GLOBALS['TL_DCA']['orm_avisota_recipient_notify'] = array
21 | (
22 |
23 | // Config
24 | 'config' => array
25 | (
26 | 'dataContainer' => 'Memory',
27 | 'closed' => true,
28 | 'onload_callback' => array
29 | (
30 | array('orm_avisota_recipient_notify', 'onload_callback'),
31 | ),
32 | 'onsubmit_callback' => array
33 | (
34 | array('orm_avisota_recipient_notify', 'onsubmit_callback'),
35 | )
36 | ),
37 | // Palettes
38 | 'metapalettes' => array
39 | (
40 | 'default' => array
41 | (
42 | 'notify' => array('recipient', 'confirmations', 'notifications', 'overdue')
43 | )
44 | ),
45 | // Fields
46 | 'fields' => array
47 | (
48 | 'recipient' => array
49 | (
50 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['recipient'],
51 | 'inputType' => 'select',
52 | 'options_callback' => array('orm_avisota_recipient_notify', 'getRecipients'),
53 | 'eval' => array('submitOnChange' => true)
54 | ),
55 | 'confirmations' => array
56 | (
57 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['confirmations'],
58 | 'inputType' => 'checkbox',
59 | 'options' => array(),
60 | 'eval' => array('multiple' => true)
61 | ),
62 | 'notifications' => array
63 | (
64 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['notifications'],
65 | 'inputType' => 'checkbox',
66 | 'options' => array(),
67 | 'eval' => array('multiple' => true)
68 | ),
69 | 'overdue' => array
70 | (
71 | 'label' => &$GLOBALS['TL_LANG']['orm_avisota_recipient_notify']['overdue'],
72 | 'inputType' => 'checkbox',
73 | 'options' => array(),
74 | 'eval' => array('multiple' => true)
75 | )
76 | )
77 | );
78 |
--------------------------------------------------------------------------------
/system_remove/modules/avisota/DataContainer/tl_stylepicker4ward.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | class tl_stylepicker4ward_avisota_callback
17 | {
18 | public function hookLoadDataContainer($name)
19 | {
20 | if ($name == 'tl_stylepicker4ward') {
21 | $GLOBALS['TL_DCA']['tl_stylepicker4ward']['palettes']['default'] .= ';{Avisota_legend},_AvisotaNewsletterCEs,_AvisotaNewsletterCE_Row';
22 | $GLOBALS['TL_DCA']['tl_stylepicker4ward']['fields']['_AvisotaNewsletterCEs'] = array
23 | (
24 | 'label' => &$GLOBALS['TL_LANG']['tl_stylepicker4ward']['_AvisotaNewsletterCEs'],
25 | 'inputType' => 'checkbox',
26 | 'options_callback' => array('AvisotaBackendStylepickerDCA', 'getAvisotaNewsletterContentElements'),
27 | 'load_callback' => array(array('AvisotaBackendStylepickerDCA', 'loadAvisotaNewsletterCEs')),
28 | 'save_callback' => array(array('AvisotaBackendStylepickerDCA', 'saveAvisotaNewsletterCEs')),
29 | 'reference' => &$GLOBALS['TL_LANG']['MCE'],
30 | 'eval' => array(
31 | 'multiple' => true,
32 | 'doNotSaveEmpty' => true,
33 | 'tl_class' => 'w50" style="height:auto;'
34 | )
35 | );
36 | $GLOBALS['TL_DCA']['tl_stylepicker4ward']['fields']['_AvisotaNewsletterCE_Row'] = array
37 | (
38 | 'label' => &$GLOBALS['TL_LANG']['tl_stylepicker4ward']['_CE_Row'],
39 | 'inputType' => 'checkbox',
40 | 'options_callback' => array('AvisotaBackendStylepickerDCA', 'getAvisotaNewsletterSections'),
41 | 'load_callback' => array(array('AvisotaBackendStylepickerDCA', 'loadAvisotaNewsletterCE_Rows')),
42 | 'save_callback' => array(array('AvisotaBackendStylepickerDCA', 'doNothing')),
43 | 'reference' => &$GLOBALS['TL_LANG']['tl_article'],
44 | 'eval' => array(
45 | 'multiple' => true,
46 | 'doNotSaveEmpty' => true,
47 | 'tl_class' => 'w50" style="height:auto;'
48 | )
49 | );
50 | }
51 | }
52 | }
53 |
--------------------------------------------------------------------------------
/contao/languages/pl/tl_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 | Domyślny moduł transportu
7 |
8 |
9 |
10 | Please choose the default transport module.
11 | Proszę wybrać domyślny moduł transportu.
12 |
13 |
14 |
15 | Developer mode
16 | Tryb developera
17 |
18 |
19 |
20 | Enable the developer mode.
21 | Włącz tryb developera.
22 |
23 |
24 |
25 | Developer email address
26 | Adres e-mail developera
27 |
28 |
29 |
30 | Please enter the email address to use for every email in developer mode.
31 | Proszę wprowadzić adres e-mail, który będzie użyta dla każdego e-maila w trybie developera.
32 |
33 |
34 |
35 | Avisota system settings
36 | Ustawienia systemu Avisota
37 |
38 |
39 |
40 | Transport
41 | Transport
42 |
43 |
44 |
45 | Developer
46 | Developer
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/contao/languages/pl/tl_avisota_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 | Domyślny moduł transportu
7 |
8 |
9 |
10 | Please choose the default transport module.
11 | Proszę wybrać domyślny moduł transportu.
12 |
13 |
14 |
15 | Developer mode
16 | Tryb developera
17 |
18 |
19 |
20 | Enable the developer mode.
21 | Włącz tryb developera.
22 |
23 |
24 |
25 | Developer email address
26 | Adres e-mail developera
27 |
28 |
29 |
30 | Please enter the email address to use for every email in developer mode.
31 | Proszę wprowadzić adres e-mail, który będzie użyta dla każdego e-maila w trybie developera.
32 |
33 |
34 |
35 | Avisota system settings
36 | Ustawienia systemu Avisota
37 |
38 |
39 |
40 | Transport
41 | Transport
42 |
43 |
44 |
45 | Developer
46 | Developer
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/contao/languages/de/tl_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 | Standard-Transportmodul.
7 |
8 |
9 |
10 | Please choose the default transport module.
11 | Bitte wählen Sie das Standard-Transportmodul aus.
12 |
13 |
14 |
15 | Developer mode
16 | Entwicklermodus
17 |
18 |
19 |
20 | Enable the developer mode.
21 | Aktivieren Sie den Entwicklermodus.
22 |
23 |
24 |
25 | Developer email address
26 | Entwickler-Mailadresse.
27 |
28 |
29 |
30 | Please enter the email address to use for every email in developer mode.
31 | Bitte geben Sie die Mailadresse an, die im Entwicklermodus für jegliche Mail benutzt wird.
32 |
33 |
34 |
35 | Avisota system settings
36 | Avisota-Systemeinstellungen
37 |
38 |
39 |
40 | Transport
41 | Transport
42 |
43 |
44 |
45 | Developer
46 | Entwickler
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/contao/languages/de/tl_avisota_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 | Standard-Transportmodul.
7 |
8 |
9 |
10 | Please choose the default transport module.
11 | Bitte wählen Sie das Standard-Transportmodul aus.
12 |
13 |
14 |
15 | Developer mode
16 | Entwicklermodus
17 |
18 |
19 |
20 | Enable the developer mode.
21 | Aktivieren Sie den Entwicklermodus.
22 |
23 |
24 |
25 | Developer email address
26 | Entwickler-Mailadresse.
27 |
28 |
29 |
30 | Please enter the email address to use for every email in developer mode.
31 | Bitte geben Sie die Mailadresse an, die im Entwicklermodus für jegliche Mail benutzt wird.
32 |
33 |
34 |
35 | Avisota system settings
36 | Avisota-Systemeinstellungen
37 |
38 |
39 |
40 | Transport
41 | Transport
42 |
43 |
44 |
45 | Developer
46 | Entwickler
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/src/Event/CreateRecipientSourceEvent.php:
--------------------------------------------------------------------------------
1 |
11 | * @package avisota/contao-core
12 | * @license LGPL-3.0+
13 | * @filesource
14 | */
15 |
16 | namespace Avisota\Contao\Core\Event;
17 |
18 | use Avisota\Contao\Entity\RecipientSource;
19 | use Avisota\RecipientSource\RecipientSourceInterface;
20 | use Symfony\Component\EventDispatcher\Event;
21 |
22 | /**
23 | * Create recipient source event.
24 | */
25 | class CreateRecipientSourceEvent extends Event
26 | {
27 |
28 | /**
29 | * The recipient source configuration.
30 | *
31 | * @var RecipientSource
32 | */
33 | protected $configuration;
34 |
35 | /**
36 | * The recipient source.
37 | *
38 | * @var RecipientSourceInterface
39 | */
40 | protected $recipientSource;
41 |
42 | /**
43 | * CreateRecipientSourceEvent constructor.
44 | *
45 | * @param RecipientSource $configuration The recipient source configuration.
46 | * @param RecipientSourceInterface $recipientSource The recipient source.
47 | */
48 | public function __construct(RecipientSource $configuration, RecipientSourceInterface $recipientSource)
49 | {
50 | $this->configuration = $configuration;
51 | $this->recipientSource = $recipientSource;
52 | }
53 |
54 | /**
55 | * Return the recipient source configuration.
56 | *
57 | * @return RecipientSource
58 | */
59 | public function getConfiguration()
60 | {
61 | return $this->configuration;
62 | }
63 |
64 | /**
65 | * Return the recipient source.
66 | *
67 | * @return RecipientSourceInterface
68 | */
69 | public function getRecipientSource()
70 | {
71 | return $this->recipientSource;
72 | }
73 |
74 | /**
75 | * Set the recipient source.
76 | *
77 | * @param RecipientSourceInterface $recipientSource
78 | *
79 | * @return $this
80 | */
81 | public function setRecipientSource(RecipientSourceInterface $recipientSource)
82 | {
83 | $this->recipientSource = $recipientSource;
84 | return $this;
85 | }
86 | }
87 |
--------------------------------------------------------------------------------
/contao/config/database.sql_ganz_alt:
--------------------------------------------------------------------------------
1 | -- **********************************************************
2 | -- * *
3 | -- * IMPORTANT NOTE *
4 | -- * *
5 | -- * Do not import this file manually but use the TYPOlight *
6 | -- * install tool to create and maintain database tables! *
7 | -- * *
8 | -- **********************************************************
9 |
10 |
11 | --
12 | -- Table `orm_avisota_recipient_to_mailing_list`
13 | --
14 |
15 | CREATE TABLE `orm_avisota_recipient_to_mailing_list` (
16 | `recipient` int(10) unsigned NOT NULL default '0',
17 | `list` int(10) unsigned NOT NULL default '0',
18 | `confirmationSent` int(10) unsigned NOT NULL default '0',
19 | `reminderSent` int(10) unsigned NOT NULL default '0',
20 | `reminderCount` int(1) unsigned NOT NULL default '0',
21 | `confirmed` char(1) NOT NULL default '',
22 | `token` char(8) NOT NULL default '',
23 | PRIMARY KEY (`recipient`, `list`)
24 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
25 |
26 | -- --------------------------------------------------------
27 |
28 | --
29 | -- Table `orm_avisota_recipient_blacklist`
30 | --
31 |
32 | CREATE TABLE `orm_avisota_recipient_blacklist` (
33 | `id` int(10) unsigned NOT NULL auto_increment,
34 | `pid` int(10) unsigned NOT NULL default '0',
35 | `tstamp` int(10) unsigned NOT NULL default '0',
36 | `email` char(32) NOT NULL default '',
37 | PRIMARY KEY (`id`),
38 | KEY `pid` (`pid`),
39 | UNIQUE KEY `recipient` (`pid`, `email`)
40 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
41 |
42 | -- --------------------------------------------------------
43 |
44 | --
45 | -- Table `orm_avisota_message_category`
46 | --
47 |
48 | CREATE TABLE `orm_avisota_message_category` (
49 | `viewOnlinePage` int(10) unsigned NOT NULL default '0',
50 | PRIMARY KEY (`id`),
51 | KEY `alias` (`alias`)
52 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
53 |
54 | -- --------------------------------------------------------
55 |
56 |
57 | --
58 | -- Table `orm_avisota_message_content`
59 | --
60 |
61 | CREATE TABLE `orm_avisota_message_content` (
62 | `html` mediumtext NULL,
63 | PRIMARY KEY (`id`),
64 | KEY `pid` (`pid`)
65 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
66 |
--------------------------------------------------------------------------------
/contao/languages/rm/tl_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 | Modul da transport da standard
7 |
8 |
9 |
10 | Please choose the default transport module.
11 | Tscherna il modul da transport da standard.
12 |
13 |
14 |
15 | Developer mode
16 | Modus da sviluppaders
17 |
18 |
19 |
20 | Enable the developer mode.
21 | Activar il modus da sviluppaders
22 |
23 |
24 |
25 | Developer email address
26 | Adressa dad e-mail dal sviluppader
27 |
28 |
29 |
30 | Please enter the email address to use for every email in developer mode.
31 | Endatescha l'adressa dad e-mail che duai vegnir utilisada per mintga e-mail tramess en il modus da sviluppader
32 |
33 |
34 |
35 | Avisota system settings
36 | Configuraziun dal sistem dad Avisota
37 |
38 |
39 |
40 | Transport
41 | Transport
42 |
43 |
44 |
45 | Developer
46 | Sviluppader
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------
/contao/languages/rm/tl_avisota_settings.xlf:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Default transport module
6 | Modul da transport da standard
7 |
8 |
9 |
10 | Please choose the default transport module.
11 | Tscherna il modul da transport da standard.
12 |
13 |
14 |
15 | Developer mode
16 | Modus da sviluppaders
17 |
18 |
19 |
20 | Enable the developer mode.
21 | Activar il modus da sviluppaders
22 |
23 |
24 |
25 | Developer email address
26 | Adressa dad e-mail dal sviluppader
27 |
28 |
29 |
30 | Please enter the email address to use for every email in developer mode.
31 | Endatescha l'adressa dad e-mail che duai vegnir utilisada per mintga e-mail tramess en il modus da sviluppader
32 |
33 |
34 |
35 | Avisota system settings
36 | Configuraziun dal sistem dad Avisota
37 |
38 |
39 |
40 | Transport
41 | Transport
42 |
43 |
44 |
45 | Developer
46 | Sviluppader
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------