[3.2] Newsletter
-
- Mitglied
- Beiträge: 13
- Registriert: 21.06.2012 13:46
Re: [3.2] Newsletter
Leider auch kein Erfolg.
Ich habe jetzt die komplette Extension noch einmal gelöscht. Interessanterweise beschwert sich die Erweiterungsverwaltung immer noch:
Deaktivierte Erweiterungen
Die Erweiterung „phpbbde/newsletter“ ist ungültig.
Die angegebene Datei konnte nicht gefunden werden: ./../ext/phpbbde/newsletter/composer.json
Ich habe jetzt die komplette Extension noch einmal gelöscht. Interessanterweise beschwert sich die Erweiterungsverwaltung immer noch:
Deaktivierte Erweiterungen
Die Erweiterung „phpbbde/newsletter“ ist ungültig.
Die angegebene Datei konnte nicht gefunden werden: ./../ext/phpbbde/newsletter/composer.json
Re: [3.2] Newsletter
Die Schritte sind folgende:
Also: Extension-Daten wieder hochladen, der Version die du zuletzt aktiv hattest und nochmal von Vorne
- Extension Deaktivieren
- Extension: Arbeitsdaten löschen
- Extension-Dateien auf dem Server löschen
Also: Extension-Daten wieder hochladen, der Version die du zuletzt aktiv hattest und nochmal von Vorne

-
- Mitglied
- Beiträge: 13
- Registriert: 21.06.2012 13:46
Re: [3.2] Newsletter
Da hast du recht, Schritt 2 habe ich vergessen. Jetzt alles gemacht, neu hochgeladen, wieder keine Checkbox bei den Massenmails... 

Re: [3.2] Newsletter
Ich habs mir mal auf seinem Server/ACP angeschaut, die Extension war nicht vollständig hochgeladen. Jetzt geht es.
-
- Mitglied
- Beiträge: 13
- Registriert: 21.06.2012 13:46
Re: [3.2] Newsletter
Vielen Dank auch hier nochmal!
Re: [3.2] Newsletter
Moin,
vielen Dank für diese Erweiterung.
Ich habe ein kleines Forum und würde gerne die Möglichkeit haben, die Newsletterbestellungen über das ACP zu regeln (wenn mir jemand eine Mail schickt, dass er oder sie den Newsletter bestellen oder abbestellen möchte) Nur finde ich keine Option dafür in den Einstellungen des Benutzers.
Wie kann ich das dort einbauen, ohne direkt in der Datenbank arbeiten zu müssen?
MfG, Daniel
vielen Dank für diese Erweiterung.
Ich habe ein kleines Forum und würde gerne die Möglichkeit haben, die Newsletterbestellungen über das ACP zu regeln (wenn mir jemand eine Mail schickt, dass er oder sie den Newsletter bestellen oder abbestellen möchte) Nur finde ich keine Option dafür in den Einstellungen des Benutzers.
Wie kann ich das dort einbauen, ohne direkt in der Datenbank arbeiten zu müssen?
MfG, Daniel
Re: [3.2] Newsletter
Es ist vorgesehen, das der User selbst den Newsletter abonnieren kann:
Persönlicher Bereich (UCP) -->
Einstellungen -->
Persönliche Einstellungen -->
Newsletter:
Mit „Ja“ wird dir regelmäßig der Newsletter zugesendet.
Persönlicher Bereich (UCP) -->
Einstellungen -->
Persönliche Einstellungen -->
Newsletter:
Mit „Ja“ wird dir regelmäßig der Newsletter zugesendet.
Re: [3.2] Newsletter
Hallo Dr. Death,
Das ist mir klar. Nur möchte ich die Möglichkeit haben, dies "im Auftrag des Benutzers" einstellen zu können. Bei meinem kleinen Forum gibt es einen großen Anteil von relativ unversierten Benutzern, denen ich diese Arbeit abnehmen möchte, wenn sie es wollen.
Ich habe mal die entsprechenden Änderungen selbst durchgeführt, ging einfacher als ich dachte:
In der Datei phpbbde/newsletter/event/listener.php
Und die Datei phpbbde/newsletter/adm/style/event/acp_users_prefs_append.html neu erstellen:
MfG, Daniel
Das ist mir klar. Nur möchte ich die Möglichkeit haben, dies "im Auftrag des Benutzers" einstellen zu können. Bei meinem kleinen Forum gibt es einen großen Anteil von relativ unversierten Benutzern, denen ich diese Arbeit abnehmen möchte, wenn sie es wollen.
Ich habe mal die entsprechenden Änderungen selbst durchgeführt, ging einfacher als ich dachte:
In der Datei phpbbde/newsletter/event/listener.php
Code: Alles auswählen
@@ -104,10 +104,13 @@ class listener implements EventSubscriberInterface
array('post_newsletter_archive', 50), // Workaround for event since there is no _after event
),
'core.ucp_prefs_modify_common' => 'modify_ucp_prefs',
'core.ucp_prefs_personal_update_data' => 'update_ucp_newsletter',
'core.permissions' => 'add_permissions',
+ 'core.acp_users_prefs_modify_data' => 'acp_users_newsletter_settings_get', // For the ACP user setting
+ 'core.acp_users_prefs_modify_template_data' => 'acp_profile_newsletter_template', // For the ACP user setting
+ 'core.acp_users_prefs_modify_sql' => 'acp_profile_newsletter_set', // For the ACP user setting
);
}
/**
* Add the extension's permissions to phpBB
@@ -288,6 +291,52 @@ class listener implements EventSubscriberInterface
{
$event['sql_ary'] += array(
'user_allow_newsletter' => $this->request->variable('newsletter', (bool) $this->user->data['user_allow_newsletter']),
);
}
+
+ public function acp_users_newsletter_settings_get($event)
+ {
+ $data = $event['data'];
+ $user_row = $event['user_row'];
+ $data = array_merge($data, array(
+ 'user_allow_newsletter' => $this->request->variable('newsletter', (bool) $user_row['user_allow_newsletter']),
+ ));
+ $event['data'] = $data;
+ }
+
+ /**
+ * Assign template data in the ACP
+ *
+ * @param object $event The event object
+ * @return null
+ * @access public
+ */
+ public function acp_profile_newsletter_template($event)
+ {
+ $this->user->add_lang_ext('phpbbde/newsletter', 'common');
+ $data = $event['data'];
+ $user_prefs_data = $event['user_prefs_data'];
+ $user_prefs_data = array_merge($user_prefs_data, array(
+ 'NEWSLETTER' => $data['user_allow_newsletter'],
+ ));
+ $event['user_prefs_data'] = $user_prefs_data;
+
+ }
+
+ /**
+ * Add user options' state into the sql_array
+ *
+ * @param object $event The event object
+ * @return null
+ * @access public
+ */
+ public function acp_profile_newsletter_set($event)
+ {
+ $data = $event['data'];
+ $sql_ary = $event['sql_ary'];
+ $sql_ary = array_merge($sql_ary, array(
+ 'user_allow_newsletter' => $this->request->variable('newsletter', (bool) $event['data']['user_allow_newsletter']),
+ ));
+ $event['sql_ary'] = $sql_ary;
+ }
}
Code: Alles auswählen
* ASCII text
<fieldset>
<legend>{{ lang('NEWSLETTER') }}</legend>
<dl>
<dt><label for="newsletter1">{{ lang('NEWSLETTER') }}{{ lang('COLON') }}</label><br><span>{{ lang('NEWSLETTER_EXPLAIN') }}</span></dt>
<dd>
<label for="newsletter1"><input type="radio" name="newsletter" id="newsletter1" value="1"{% if NEWSLETTER %} checked="checked"{% endif %} /> {{ lang('YES') }}</label>
<label for="newsletter0"><input type="radio" name="newsletter" id="newsletter0" value="0"{% if not NEWSLETTER %} checked="checked"{% endif %} /> {{ lang('NO') }}</label>
</dd>
</dl>
</fieldset>
Die Veränderung kann gerne in der Erweiterung verwendet werden. Wie ein Pull-Request funktioniert weiß ich nicht, aber vielleicht könnt ihr alles benötigte ja auch oben herauslesen.Crizzo hat geschrieben: 05.03.2018 21:52 Ist halt noch nicht perfekt und noch nicht ganz fertig, aber funktionieren tut sie schon. Über Pull Requests mit Verbesserungen und Bugfixes freuen wir uns auch.![]()
MfG, Daniel
Re: [3.2] Newsletter
Schöne Umsetzung, vielen Dank.
Ich hab das Projekt gecloned, Deine Änderungen eingepflegt und daraus folgenden Pull Request erzeugt:
https://github.com/phpbb-de/phpbb-ext-n ... er/pull/21
Ich hab das Projekt gecloned, Deine Änderungen eingepflegt und daraus folgenden Pull Request erzeugt:
https://github.com/phpbb-de/phpbb-ext-n ... er/pull/21