Skip to content

Commit

Permalink
v 3.1.0
Browse files Browse the repository at this point in the history
- Reimplemented double optin via Mailchimp.
- Fixed Github actions.
- Use wpubasemessages for admin messages.
  • Loading branch information
Darklg committed May 12, 2024
1 parent 0c41ddc commit 5f09f7e
Show file tree
Hide file tree
Showing 16 changed files with 384 additions and 261 deletions.
1 change: 1 addition & 0 deletions .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
"no-prototype-builtins": 0
},
"globals": {
"wpunewsletter_options": true,
"wp": true,
"jQuery": true
}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/js.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,6 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Install modules
run: npm install -g eslint
run: npm install -g eslint@^8
- name: Run ESLint
run: eslint assets/ --ext .js
1 change: 1 addition & 0 deletions inc/WPUBaseMessages/.htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
deny from all
13 changes: 13 additions & 0 deletions inc/WPUBaseMessages/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
WPU Base Messages
---

Add notices in your plugin.

## Insert in the INIT hook

```php
if (is_admin()) {
include dirname( __FILE__ ) . '/inc/WPUBaseMessages/WPUBaseMessages.php';
$this->messages = new \wpubaseplugin\WPUBaseMessages($this->options['plugin_id']);
}
```
82 changes: 82 additions & 0 deletions inc/WPUBaseMessages/WPUBaseMessages.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
<?php
namespace wpunewsletter;

/*
Class Name: WPU Base Messages
Description: A class to handle messages in WordPress
Version: 1.3.4
Class URI: https://github.com/WordPressUtilities/wpubaseplugin
Author: Darklg
Author URI: https://darklg.me/
License: MIT License
License URI: https://opensource.org/licenses/MIT
*/

defined('ABSPATH') || die;

class WPUBaseMessages {

private $transient_msg;
private $transient_prefix;
private $notices_categories = array(
'notice',
'updated',
'update-nag',
'error'
);

public function __construct($prefix = '') {
if (wp_doing_cron()) {
return;
}
if (!is_user_logged_in()) {
return;
}
$current_user = wp_get_current_user();
if (is_object($current_user)) {
$prefix .= $current_user->ID;
}

// Set Messages
$this->transient_prefix = sanitize_title(basename(__FILE__)) . $prefix;
$this->transient_msg = $this->transient_prefix . '__messages';

// Add hook
add_action('admin_notices', array(&$this,
'admin_notices'
));
}

/* Set notices messages */
public function set_message($id, $message, $group = '') {
if (wp_doing_cron()) {
return;
}
$messages = (array) get_transient($this->transient_msg);
if (!in_array($group, $this->notices_categories)) {
$group = $this->notices_categories[0];
}
$messages[$group][$id] = $message;
set_transient($this->transient_msg, $messages);
}

/* Display notices */
public function admin_notices() {
if (wp_doing_cron()) {
return;
}
$messages = (array) get_transient($this->transient_msg);
if (!empty($messages)) {
foreach ($messages as $group_id => $group) {
if (is_array($group)) {
foreach ($group as $message) {
echo '<div class="' . $group_id . ' notice is-dismissible"><p>' . $message . '</p></div>';
}
}
}
}

// Empty messages
delete_transient($this->transient_msg);
}
}
1 change: 1 addition & 0 deletions inc/WPUBaseMessages/index.php
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<?php /* Silence */
2 changes: 1 addition & 1 deletion lang/wpunewsletter-de_DE.l10n.php
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
<?php
return ['domain'=>NULL,'plural-forms'=>NULL,'messages'=>['New Post'=>'Neuer Post','Back'=>'Zurück','No'=>'Nein','Yes'=>'Ja','Submit'=>'Senden','Items %s - %s'=>'Artikel %s - %s','<strong>Filter :</strong> %s • <strong>Value :</strong> %s'=>'<strong>Filter:</strong> %s • <strong>Wert :</strong> %s','Reset'=>'Zurücksetzen','Search'=>'Suche','Clear'=>'Zurücksetzen','Show more details'=>'Mehr Details anzeigen','Edit'=>'Bearbeiten','View'=>'Anzeigen','Delete'=>'Löschen','Export all'=>'Alles exportieren','Export filtered view'=>'Gefilterte Ansicht exportieren','New title'=>'Neuer Titel','Title:'=>'Titel:','Text:'=>'Text:','Email'=>'E-Mail','Your email address'=>'Ihre E-Mail Adresse','Register'=>'Registrieren','Allow subscriptions to a newsletter.'=>'Zulassen von Abonnements für einen Newsletter.','Latest subscribers'=>'Neueste Abonnenten','No subscriber for now.'=>'Vorerst kein Abonnent.','Newsletter - Subscribers'=>'Newsletter - Abonnenten','Subscribers'=>'Abonnenten','Newsletter - Export'=>'Newsletter - Export','Export'=>'Export','Newsletter - Import'=>'Newsletter - Importieren','Import'=>'Importieren','Newsletter - Settings'=>'Newsletter - Einstellungen','Settings'=>'Einstellungen','Cancel'=>'Abbrechen','Subscribers list : %s'=>'Abonnentenliste : %s','ID'=>'ID','Locale'=>'Lokal','Date'=>'Datum','Valid'=>'Gültig','Delete selected lines'=>'Ausgewählte Zeilen löschen','Addresses to import:'=>'Zu importierende Adressen:','Import addresses'=>'Adressen importieren','Mail insertions : %s'=>'Einfügungen von E-Mails : %s','No mail insertions '=>'Keine E-Mail-Einfügungen ','Addresses to export:'=>'Zu exportierende Adressen:','Only valid'=>'Nur gültig','All'=>'Alle','Export addresses'=>'Adressen exportieren','Users'=>'Benutzer','Custom'=>'Benutzerdefiniert','This is not an email address.'=>'Dies ist keine E-Mail-Adresse.','You need to accept the conditions.'=>'Sie müssen die Bedingungen akzeptieren.','The form is invalid.'=>'Das Formular ist ungültig.','The form is invalid. Is Javascript disabled on your computer ?'=>'Das Formular ist ungültig. Ist Javascript auf Ihrem Computer deaktiviert?','This mail is already registered'=>'Diese E-Mail ist bereits registriert','This mail can\'t be registered'=>'Diese E-Mail kann nicht registriert werden','This mail is now registered'=>'Diese E-Mail ist jetzt registriert','Some fields are missing'=>'Einige Felder fehlen','Your subscription couldn\'t be confirmed'=>'Ihr Abonnement konnte nicht bestätigt werden','Your subscription has been successfully confirmed'=>'Ihr Abonnement wurde erfolgreich bestätigt','Find your DC in the URL of your Mailchimp account. Example: The DC for the url %s is %s'=>'Suchen Sie Ihren DC in der URL Ihres Mailchimp-Kontos. Beispiel: Der DC für die URL %s ist %s','Find your <a target="_blank" href="%s">API Key here</a>.'=>'Hier finden Sie Ihren <a target="_blank" href="%s">API-Schlüssel</a>.','Required fields'=>'Pflichtfelder','Forms with only an email address will not work on a list with required fields.'=>'Formulare, die nur eine E-Mail-Adresse enthalten, funktionieren nicht in einer Liste mit Pflichtfeldern.','Register in comments'=>'In Kommentaren registrieren','GPRD'=>'GPRD','Add a GPRD checkbox under form.'=>'Fügen Sie ein GPRD-Kontrollkästchen unter dem Formular hinzu.','GPRD checkbox text'=>'Text des GPRD-Kontrollkästchens','GPRD text under newsletter'=>'GPRD-Text unter Newsletter','Send confirmation email'=>'Bestätigungsmail senden','Auto-delete subscriptions after %s years'=>'Automatisches Löschen von Abonnements nach %s Jahren','Outgoing emails'=>'Ausgehende E-Mails','From name'=>'Name des Absenders','From address'=>'Absenderadresse','Mailchimp'=>'Mailchimp','Use Mailchimp'=>'Mailchimp verwenden','Use double optin'=>'Double-Optin verwenden','DC'=>'DC','API Key'=>'API-Schlüssel','List ID'=>'Listen ID','Update and test options'=>'Update- und Testmöglichkeiten','Update options'=>'&Auml;nderungen speichern','Success : Updated options'=>'Erfolg : Aktualisierte Optionen','Success : Mailchimp IDs are correct'=>'Erfolg: Mailchimp-IDs sind korrekt','Failure : Mailchimp IDs are not correct'=>'Fehler: Mailchimp-IDs sind nicht korrekt','Register to our newsletter'=>'Melden Sie sich für unseren Newsletter an','Confirm your subscription to our newsletter'=>'Bestätigen Sie Ihre Anmeldung zu unserem Newsletter','Hi !'=>'Hallo!','Please click on the link below to confirm your subscription to our newsletter:'=>'Bitte klicken Sie auf den folgenden Link, um Ihre Anmeldung zu unserem Newsletter zu bestätigen:','Thank you !'=>'Vielen Dank!'],'language'=>'de_DE','x-generator'=>'Poedit 3.4.2'];
return ['domain'=>NULL,'plural-forms'=>NULL,'messages'=>['New Post'=>'Neuer Post','Back'=>'Zurück','No'=>'Nein','Yes'=>'Ja','Submit'=>'Senden','Items %s - %s'=>'Artikel %s - %s','<strong>Filter :</strong> %s • <strong>Value :</strong> %s'=>'<strong>Filter:</strong> %s • <strong>Wert :</strong> %s','Reset'=>'Zurücksetzen','Search'=>'Suche','Clear'=>'Zurücksetzen','Show more details'=>'Mehr Details anzeigen','Edit'=>'Bearbeiten','View'=>'Anzeigen','Delete'=>'Löschen','Export all'=>'Alles exportieren','Export filtered view'=>'Gefilterte Ansicht exportieren','New title'=>'Neuer Titel','Title:'=>'Titel:','Text:'=>'Text:','Email'=>'E-Mail','Your email address'=>'Ihre E-Mail Adresse','Register'=>'Registrieren','Allow subscriptions to a newsletter.'=>'Zulassen von Abonnements für einen Newsletter.','Latest subscribers'=>'Neueste Abonnenten','No subscriber for now.'=>'Vorerst kein Abonnent.','Newsletter - Subscribers'=>'Newsletter - Abonnenten','Subscribers'=>'Abonnenten','Newsletter - Export'=>'Newsletter - Export','Export'=>'Export','Newsletter - Import'=>'Newsletter - Importieren','Import'=>'Importieren','Newsletter - Settings'=>'Newsletter - Einstellungen','Settings'=>'Einstellungen','Cancel'=>'Abbrechen','Subscribers list : %s'=>'Abonnentenliste : %s','ID'=>'ID','Locale'=>'Lokal','Date'=>'Datum','Valid'=>'Gültig','Delete selected lines'=>'Ausgewählte Zeilen löschen','Mail suppressions : %s'=>'E-Mail-Unterdrückung : %s','Addresses to import:'=>'Zu importierende Adressen:','Import addresses'=>'Adressen importieren','Mail insertions : %s'=>'Einfügungen von E-Mails : %s','No mail insertions '=>'Keine E-Mail-Einfügungen ','Addresses to export:'=>'Zu exportierende Adressen:','Only valid'=>'Nur gültig','All'=>'Alle','Export addresses'=>'Adressen exportieren','Users'=>'Benutzer','Custom'=>'Benutzerdefiniert','This is not an email address.'=>'Dies ist keine E-Mail-Adresse.','You need to accept the conditions.'=>'Sie müssen die Bedingungen akzeptieren.','The form is invalid.'=>'Das Formular ist ungültig.','The form is invalid. Is Javascript disabled on your computer ?'=>'Das Formular ist ungültig. Ist Javascript auf Ihrem Computer deaktiviert?','This mail is already registered'=>'Diese E-Mail ist bereits registriert','This mail can\'t be registered'=>'Diese E-Mail kann nicht registriert werden','This mail is now registered'=>'Diese E-Mail ist jetzt registriert','Some fields are missing'=>'Einige Felder fehlen','Your subscription couldn\'t be confirmed'=>'Ihr Abonnement konnte nicht bestätigt werden','Your subscription has been successfully confirmed'=>'Ihr Abonnement wurde erfolgreich bestätigt','Find your DC in the URL of your Mailchimp account. Example: The DC for the url %s is %s'=>'Suchen Sie Ihren DC in der URL Ihres Mailchimp-Kontos. Beispiel: Der DC für die URL %s ist %s','Find your <a target="_blank" href="%s">API Key here</a>.'=>'Hier finden Sie Ihren <a target="_blank" href="%s">API-Schlüssel</a>.','Required fields'=>'Pflichtfelder','Forms with only an email address will not work on a list with required fields.'=>'Formulare, die nur eine E-Mail-Adresse enthalten, funktionieren nicht in einer Liste mit Pflichtfeldern.','Register in comments'=>'In Kommentaren registrieren','GPRD'=>'GPRD','Add a GPRD checkbox under form.'=>'Fügen Sie ein GPRD-Kontrollkästchen unter dem Formular hinzu.','GPRD checkbox text'=>'Text des GPRD-Kontrollkästchens','GPRD text under newsletter'=>'GPRD-Text unter Newsletter','Send confirmation email'=>'Bestätigungsmail senden','Via WordPress'=>'Über WordPress','Auto-delete subscriptions after %s years'=>'Automatisches Löschen von Abonnements nach %s Jahren','Outgoing emails'=>'Ausgehende E-Mails','From name'=>'Name des Absenders','From address'=>'Absenderadresse','Mailchimp'=>'Mailchimp','Use Mailchimp'=>'Mailchimp verwenden','Via Mailchimp'=>'Über Mailchimp','DC'=>'DC','API Key'=>'API-Schlüssel','List ID'=>'Listen ID','Update and test options'=>'Update- und Testmöglichkeiten','Update options'=>'&Auml;nderungen speichern','Success : Updated options'=>'Erfolg : Aktualisierte Optionen','Success : Mailchimp IDs are correct'=>'Erfolg: Mailchimp-IDs sind korrekt','Failure : Mailchimp IDs are not correct'=>'Fehler: Mailchimp-IDs sind nicht korrekt','Register to our newsletter'=>'Melden Sie sich für unseren Newsletter an','Confirm your subscription to our newsletter'=>'Bestätigen Sie Ihre Anmeldung zu unserem Newsletter','Hi !'=>'Hallo!','Please click on the link below to confirm your subscription to our newsletter:'=>'Bitte klicken Sie auf den folgenden Link, um Ihre Anmeldung zu unserem Newsletter zu bestätigen:','Thank you !'=>'Vielen Dank!'],'language'=>'de_DE','x-generator'=>'Poedit 3.4.2'];
Binary file modified lang/wpunewsletter-de_DE.mo
Binary file not shown.
Loading

0 comments on commit 5f09f7e

Please sign in to comment.