WP Mail Logging - Version 1.8.4

Version Description

  • Fix: transient bug
  • Fix: notice when attachments not set

=

Download this release

Release Info

Developer No3x
Plugin Icon 128x128 WP Mail Logging
Version 1.8.4
Comparing to
See all releases

Code changes from version 1.8.3 to 1.8.4

WPML_Plugin.php CHANGED
@@ -1,258 +1,259 @@
1
- <?php
2
-
3
- namespace No3x\WPML;
4
-
5
- use No3x\WPML\Model\WPML_Mail as Mail;
6
-
7
- // Exit if accessed directly.
8
- if ( ! defined( 'ABSPATH' ) ) exit;
9
-
10
- class WPML_Plugin extends WPML_LifeCycle {
11
-
12
- protected $emailLogList;
13
-
14
- const HOOK_LOGGING_COLUMNS = 'wpml_hook_mail_columns';
15
- const HOOK_LOGGING_COLUMNS_RENDER = 'wpml_hook_mail_columns_render';
16
- const HOOK_LOGGING_SUPPORTED_FORMATS = 'wpml_hook_supported_formats';
17
- const HOOK_LOGGING_FORMAT_CONTENT = 'wpml_hook_format_content';
18
-
19
- public static function getTablename( $name ) {
20
- global $wpdb;
21
- return $wpdb->prefix . 'wpml_' . $name;
22
- }
23
-
24
- public function getPluginDisplayName() {
25
- return 'WP Mail Logging';
26
- }
27
-
28
- public function getMainPluginFileName() {
29
- return 'wp-mail-logging.php';
30
- }
31
-
32
- public function getVersionSaved() {
33
- return parent::getVersionSaved();
34
- }
35
-
36
- /**
37
- * See: http://plugin.michael-simpson.com/?page_id=101
38
- * Called by install() to create any database tables if needed.
39
- * Best Practice:
40
- * (1) Prefix all table names with $wpdb->prefix
41
- * (2) make table names lower case only
42
- * @return void
43
- */
44
- protected function installDatabaseTables() {
45
- global $wpdb;
46
- $tableName = WPML_Plugin::getTablename('mails');
47
- $wpdb->query("CREATE TABLE IF NOT EXISTS `$tableName` (
48
- `mail_id` INT NOT NULL AUTO_INCREMENT,
49
- `timestamp` TIMESTAMP NOT NULL,
50
- `host` VARCHAR(200) NOT NULL DEFAULT '0',
51
- `receiver` VARCHAR(200) NOT NULL DEFAULT '0',
52
- `subject` VARCHAR(200) NOT NULL DEFAULT '0',
53
- `message` TEXT NULL,
54
- `headers` TEXT NULL,
55
- `attachments` VARCHAR(800) NOT NULL DEFAULT '0',
56
- `error` VARCHAR(400) NULL DEFAULT '',
57
- `plugin_version` VARCHAR(200) NOT NULL DEFAULT '0',
58
- PRIMARY KEY (`mail_id`)
59
- ) DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE utf8_general_ci;");
60
- }
61
-
62
- /**
63
- * See: http://plugin.michael-simpson.com/?page_id=101
64
- * Drop plugin-created tables on uninstall.
65
- * @return void
66
- */
67
- protected function unInstallDatabaseTables() {
68
- global $wpdb;
69
- $tableName = WPML_Plugin::getTablename('mails');
70
- $wpdb->query("DROP TABLE IF EXISTS `$tableName`");
71
- }
72
-
73
- /**
74
- * Perform actions when upgrading from version X to version Y
75
- * See: http://plugin.michael-simpson.com/?page_id=35
76
- * @return void
77
- */
78
- public function upgrade() {
79
- global $wpdb;
80
-
81
- $savedVersion = $this->getVersionSaved();
82
- if(! $this->isInstalled() || empty( $savedVersion ) ) {
83
- // The plugin must be installed before any upgrades
84
- return;
85
- }
86
-
87
- $upgradeOk = true;
88
- $savedVersion = $this->getVersionSaved();
89
- $codeVersion = $this->getVersion();
90
- $tableName = $this->getTablename('mails');
91
-
92
- /* check for downgrade or beta
93
- if( $this->isVersionLessThan($codeVersion, $savedVersion)
94
- || false !== strpos($savedVersion, 'beta') ) {
95
- $upgradeOk = false;
96
- // This is only be the case if the user had a beta version installed
97
- if ( is_admin() ) {
98
- wp_die( "[{$this->getPluginDisplayName()}] You have installed version {$savedVersion} but try to install {$codeVersion}! This would require a database downgrade which is not supported! You need to install {$savedVersion} again, enable \"Cleanup\" in the settings and disable the plugin.");
99
- }
100
- }*/
101
-
102
- if ($this->isVersionLessThan($savedVersion, '2.0')) {
103
- if ($this->isVersionLessThan($savedVersion, '1.2')) {
104
- $wpdb->query("ALTER TABLE `$tableName` CHANGE COLUMN `to` `receiver` VARCHAR(200)");
105
- }
106
- if ($this->isVersionLessThan($savedVersion, '1.3')) {
107
- $wpdb->query("ALTER TABLE `$tableName` MODIFY COLUMN `attachments` VARCHAR(800) NOT NULL DEFAULT '0'");
108
- }
109
- if ($this->isVersionLessThan($savedVersion, '1.4')) {
110
- $wpdb->query("ALTER TABLE `$tableName` CHARACTER SET utf8 COLLATE utf8_general_ci;");
111
- }
112
- if ($this->isVersionLessThan($savedVersion, '1.7')) {
113
- $wpdb->query("ALTER TABLE `$tableName` ADD COLUMN `host` VARCHAR(200) NOT NULL DEFAULT '0' AFTER `timestamp`;");
114
- }
115
- if ($this->isVersionLessThan($savedVersion, '1.8')) {
116
- // Due to upgrade bug upgrades from 1.6.2 to 1.7.0 failed. Redo the schema change if required
117
- $results = $wpdb->get_results( $wpdb->prepare( "SHOW COLUMNS FROM `$tableName` LIKE %s", 'host' ) );
118
- $column_exists = ( count( $results ) > 0 ) ? true : false;
119
-
120
- if ( false === $column_exists && is_array( $results ) ) {
121
- $wpdb->query("ALTER TABLE `$tableName` ADD COLUMN `host` VARCHAR(200) NOT NULL DEFAULT '0' AFTER `timestamp`;");
122
- }
123
-
124
- $wpdb->query("ALTER TABLE `$tableName` ADD COLUMN `error` VARCHAR(400) NULL DEFAULT '' AFTER `attachments`;");
125
- }
126
- }
127
-
128
- if ( !empty( $wpdb->last_error ) ) {
129
- $upgradeOk = false;
130
- if ( is_admin() ) {
131
- echo "There was at least one error while upgrading the database schema. Please report the following error: {$wpdb->last_error}";
132
- }
133
- }
134
-
135
- // Post-upgrade, set the current version in the options
136
- if ($upgradeOk && $savedVersion != $codeVersion) {
137
- $this->saveInstalledVersion();
138
- }
139
- }
140
-
141
- public function addActionsAndFilters() {
142
- // Add options administration page
143
- // http://plugin.michael-simpson.com/?page_id=47
144
- add_action( 'admin_menu', array(&$this, 'createSettingsMenu'), 9 );
145
-
146
- // Example adding a script & style just for the options administration page
147
- // http://plugin.michael-simpson.com/?page_id=47
148
- // if (strpos($_SERVER['REQUEST_URI'], $this->getSettingsSlug()) !== false) {
149
- // wp_enqueue_script('my-script', plugins_url('/js/my-script.js', __FILE__));
150
- // wp_enqueue_style('my-style', plugins_url('/css/my-style.css', __FILE__));
151
- // }
152
-
153
-
154
- // Add Actions & Filters
155
- // http://plugin.michael-simpson.com/?page_id=37
156
- add_filter( 'plugin_action_links', array( &$this, 'registerPluginActionLinks'), 10, 5 );
157
- add_filter( 'wp_mail', array( &$this, 'log_email' ), PHP_INT_MAX );
158
- add_action( 'wp_mail_failed', array( &$this, 'log_email_failed' ) );
159
- add_filter( 'set-screen-option', array( &$this, 'save_screen_options' ), 10, 3);
160
- add_filter( 'wpml_get_plugin_version', array( &$this, 'getVersion' ) );
161
- add_filter( 'wpml_get_plugin_name', array( &$this, 'getPluginDisplayName' ) );
162
- add_filter( 'wpml_get_date_time_format', array( &$this, 'getDateTimeFormatString' ) );
163
- // Adding scripts & styles to all pages
164
- // Examples:
165
- // wp_enqueue_script('jquery');
166
- // wp_enqueue_style('my-style', plugins_url('/css/my-style.css', __FILE__));
167
- // wp_enqueue_script('my-script', plugins_url('/js/my-script.js', __FILE__));
168
-
169
-
170
- // Register short codes
171
- // http://plugin.michael-simpson.com/?page_id=39
172
-
173
-
174
- // Register AJAX hooks
175
- // http://plugin.michael-simpson.com/?page_id=41
176
- }
177
-
178
- /**
179
- * Action to log errors for mails failed to send.
180
- *
181
- * @since 1.8.0
182
- * @global $wpml_current_mail_id
183
- * @param \WP_Error $wperror
184
- */
185
- public function log_email_failed( $wperror ) {
186
- global $wpml_current_mail_id;
187
- if(!isset($wpml_current_mail_id)) return;
188
- $failed_mail = Mail::find_one($wpml_current_mail_id);
189
- if( !$failed_mail ) return;
190
- $failed_mail->set_error($wperror->get_error_message())->save();
191
- }
192
-
193
- private function extractReceiver( $receiver ) {
194
- return is_array( $receiver ) ? implode( ',\n', $receiver ) : $receiver;
195
- }
196
-
197
- private function extractHeader( $headers ) {
198
- return is_array( $headers ) ? implode( ',\n', $headers ) : $headers;
199
- }
200
-
201
- private function extractAttachments( $attachments ) {
202
- $attachments = is_array( $attachments ) ? $attachments : array( $attachments );
203
- $attachment_urls = array();
204
- $uploads = wp_upload_dir();
205
- $basename = 'uploads';
206
- $basename_needle = '/'.$basename.'/';
207
- foreach ( $attachments as $attachment ) {
208
- $append_url = substr( $attachment, strrpos( $attachment, $basename_needle ) + strlen($basename_needle) - 1 );
209
- $attachment_urls[] = $append_url;
210
- }
211
- return implode( ',\n', $attachment_urls );
212
- }
213
-
214
- private function extractMessage( $mail ) {
215
- if ( isset($mail['message']) ) {
216
- // usually the message is stored in the message field
217
- return $mail['message'];
218
- } elseif ( isset($mail['html']) ) {
219
- // for example Mandrill stores the message in the 'html' field (see gh-22)
220
- return $mail['html'];
221
- }
222
- return "";
223
- }
224
-
225
-
226
- private function extractFields( $mail ) {
227
- return array(
228
- 'receiver' => $this->extractReceiver( $mail['to'] ),
229
- 'subject' => $mail['subject'],
230
- 'message' => $this->extractMessage( $mail ),
231
- 'headers' => $this->extractHeader( $mail['headers'] ),
232
- 'attachments' => $this->extractAttachments( $mail['attachments'] ),
233
- 'plugin_version' => $this->getVersionSaved(),
234
- 'timestamp' => current_time( 'mysql' ),
235
- 'host' => isset( $_SERVER['SERVER_ADDR'] ) ? $_SERVER['SERVER_ADDR'] : ''
236
- );
237
- }
238
-
239
-
240
- /**
241
- * Logs mail to database.
242
- *
243
- * @param array $mailOriginal
244
- * @global $wpml_current_mail_id
245
- * @since 1.0
246
- * @return array $mailOriginal
247
- */
248
- public function log_email( $mailOriginal ) {
249
- global $wpml_current_mail_id;
250
- // make copy to avoid any changes on the original mail
251
- $mail = $mailOriginal;
252
-
253
- $fields = $this->extractFields( $mail );
254
- $wpml_current_mail_id = Mail::create($fields)->save();
255
-
256
- return $mailOriginal;
257
- }
258
- }
 
1
+ <?php
2
+
3
+ namespace No3x\WPML;
4
+
5
+ use No3x\WPML\Model\WPML_Mail as Mail;
6
+
7
+ // Exit if accessed directly.
8
+ if ( ! defined( 'ABSPATH' ) ) exit;
9
+
10
+ class WPML_Plugin extends WPML_LifeCycle {
11
+
12
+ protected $emailLogList;
13
+
14
+ const HOOK_LOGGING_COLUMNS = 'wpml_hook_mail_columns';
15
+ const HOOK_LOGGING_COLUMNS_RENDER = 'wpml_hook_mail_columns_render';
16
+ const HOOK_LOGGING_SUPPORTED_FORMATS = 'wpml_hook_supported_formats';
17
+ const HOOK_LOGGING_FORMAT_CONTENT = 'wpml_hook_format_content';
18
+
19
+ public static function getTablename( $name ) {
20
+ global $wpdb;
21
+ return $wpdb->prefix . 'wpml_' . $name;
22
+ }
23
+
24
+ public function getPluginDisplayName() {
25
+ return 'WP Mail Logging';
26
+ }
27
+
28
+ public function getMainPluginFileName() {
29
+ return 'wp-mail-logging.php';
30
+ }
31
+
32
+ public function getVersionSaved() {
33
+ return parent::getVersionSaved();
34
+ }
35
+
36
+ /**
37
+ * See: http://plugin.michael-simpson.com/?page_id=101
38
+ * Called by install() to create any database tables if needed.
39
+ * Best Practice:
40
+ * (1) Prefix all table names with $wpdb->prefix
41
+ * (2) make table names lower case only
42
+ * @return void
43
+ */
44
+ protected function installDatabaseTables() {
45
+ global $wpdb;
46
+ $tableName = WPML_Plugin::getTablename('mails');
47
+ $wpdb->query("CREATE TABLE IF NOT EXISTS `$tableName` (
48
+ `mail_id` INT NOT NULL AUTO_INCREMENT,
49
+ `timestamp` TIMESTAMP NOT NULL,
50
+ `host` VARCHAR(200) NOT NULL DEFAULT '0',
51
+ `receiver` VARCHAR(200) NOT NULL DEFAULT '0',
52
+ `subject` VARCHAR(200) NOT NULL DEFAULT '0',
53
+ `message` TEXT NULL,
54
+ `headers` TEXT NULL,
55
+ `attachments` VARCHAR(800) NOT NULL DEFAULT '0',
56
+ `error` VARCHAR(400) NULL DEFAULT '',
57
+ `plugin_version` VARCHAR(200) NOT NULL DEFAULT '0',
58
+ PRIMARY KEY (`mail_id`)
59
+ ) DEFAULT CHARACTER SET = utf8 DEFAULT COLLATE utf8_general_ci;");
60
+ }
61
+
62
+ /**
63
+ * See: http://plugin.michael-simpson.com/?page_id=101
64
+ * Drop plugin-created tables on uninstall.
65
+ * @return void
66
+ */
67
+ protected function unInstallDatabaseTables() {
68
+ global $wpdb;
69
+ $tableName = WPML_Plugin::getTablename('mails');
70
+ $wpdb->query("DROP TABLE IF EXISTS `$tableName`");
71
+ }
72
+
73
+ /**
74
+ * Perform actions when upgrading from version X to version Y
75
+ * See: http://plugin.michael-simpson.com/?page_id=35
76
+ * @return void
77
+ */
78
+ public function upgrade() {
79
+ global $wpdb;
80
+
81
+ $savedVersion = $this->getVersionSaved();
82
+ if(! $this->isInstalled() || empty( $savedVersion ) ) {
83
+ // The plugin must be installed before any upgrades
84
+ return;
85
+ }
86
+
87
+ $upgradeOk = true;
88
+ $savedVersion = $this->getVersionSaved();
89
+ $codeVersion = $this->getVersion();
90
+ $tableName = $this->getTablename('mails');
91
+
92
+ /* check for downgrade or beta
93
+ if( $this->isVersionLessThan($codeVersion, $savedVersion)
94
+ || false !== strpos($savedVersion, 'beta') ) {
95
+ $upgradeOk = false;
96
+ // This is only be the case if the user had a beta version installed
97
+ if ( is_admin() ) {
98
+ wp_die( "[{$this->getPluginDisplayName()}] You have installed version {$savedVersion} but try to install {$codeVersion}! This would require a database downgrade which is not supported! You need to install {$savedVersion} again, enable \"Cleanup\" in the settings and disable the plugin.");
99
+ }
100
+ }*/
101
+
102
+ if ($this->isVersionLessThan($savedVersion, '2.0')) {
103
+ if ($this->isVersionLessThan($savedVersion, '1.2')) {
104
+ $wpdb->query("ALTER TABLE `$tableName` CHANGE COLUMN `to` `receiver` VARCHAR(200)");
105
+ }
106
+ if ($this->isVersionLessThan($savedVersion, '1.3')) {
107
+ $wpdb->query("ALTER TABLE `$tableName` MODIFY COLUMN `attachments` VARCHAR(800) NOT NULL DEFAULT '0'");
108
+ }
109
+ if ($this->isVersionLessThan($savedVersion, '1.4')) {
110
+ $wpdb->query("ALTER TABLE `$tableName` CHARACTER SET utf8 COLLATE utf8_general_ci;");
111
+ }
112
+ if ($this->isVersionLessThan($savedVersion, '1.7')) {
113
+ $wpdb->query("ALTER TABLE `$tableName` ADD COLUMN `host` VARCHAR(200) NOT NULL DEFAULT '0' AFTER `timestamp`;");
114
+ }
115
+ if ($this->isVersionLessThan($savedVersion, '1.8')) {
116
+ // Due to upgrade bug upgrades from 1.6.2 to 1.7.0 failed. Redo the schema change if required
117
+ $results = $wpdb->get_results( $wpdb->prepare( "SHOW COLUMNS FROM `$tableName` LIKE %s", 'host' ) );
118
+ $column_exists = ( count( $results ) > 0 ) ? true : false;
119
+
120
+ if ( false === $column_exists && is_array( $results ) ) {
121
+ $wpdb->query("ALTER TABLE `$tableName` ADD COLUMN `host` VARCHAR(200) NOT NULL DEFAULT '0' AFTER `timestamp`;");
122
+ }
123
+
124
+ $wpdb->query("ALTER TABLE `$tableName` ADD COLUMN `error` VARCHAR(400) NULL DEFAULT '' AFTER `attachments`;");
125
+ }
126
+ }
127
+
128
+ if ( !empty( $wpdb->last_error ) ) {
129
+ $upgradeOk = false;
130
+ if ( is_admin() ) {
131
+ echo "There was at least one error while upgrading the database schema. Please report the following error: {$wpdb->last_error}";
132
+ }
133
+ }
134
+
135
+ // Post-upgrade, set the current version in the options
136
+ if ($upgradeOk && $savedVersion != $codeVersion) {
137
+ $this->saveInstalledVersion();
138
+ }
139
+ }
140
+
141
+ public function addActionsAndFilters() {
142
+ // Add options administration page
143
+ // http://plugin.michael-simpson.com/?page_id=47
144
+ add_action( 'admin_menu', array(&$this, 'createSettingsMenu'), 9 );
145
+
146
+ // Example adding a script & style just for the options administration page
147
+ // http://plugin.michael-simpson.com/?page_id=47
148
+ // if (strpos($_SERVER['REQUEST_URI'], $this->getSettingsSlug()) !== false) {
149
+ // wp_enqueue_script('my-script', plugins_url('/js/my-script.js', __FILE__));
150
+ // wp_enqueue_style('my-style', plugins_url('/css/my-style.css', __FILE__));
151
+ // }
152
+
153
+
154
+ // Add Actions & Filters
155
+ // http://plugin.michael-simpson.com/?page_id=37
156
+ add_filter( 'plugin_action_links', array( &$this, 'registerPluginActionLinks'), 10, 5 );
157
+ add_filter( 'wp_mail', array( &$this, 'log_email' ), PHP_INT_MAX );
158
+ add_action( 'wp_mail_failed', array( &$this, 'log_email_failed' ) );
159
+ add_filter( 'set-screen-option', array( &$this, 'save_screen_options' ), 10, 3);
160
+ add_filter( 'wpml_get_plugin_version', array( &$this, 'getVersion' ) );
161
+ add_filter( 'wpml_get_plugin_name', array( &$this, 'getPluginDisplayName' ) );
162
+ add_filter( 'wpml_get_date_time_format', array( &$this, 'getDateTimeFormatString' ) );
163
+ // Adding scripts & styles to all pages
164
+ // Examples:
165
+ // wp_enqueue_script('jquery');
166
+ // wp_enqueue_style('my-style', plugins_url('/css/my-style.css', __FILE__));
167
+ // wp_enqueue_script('my-script', plugins_url('/js/my-script.js', __FILE__));
168
+
169
+
170
+ // Register short codes
171
+ // http://plugin.michael-simpson.com/?page_id=39
172
+
173
+
174
+ // Register AJAX hooks
175
+ // http://plugin.michael-simpson.com/?page_id=41
176
+ }
177
+
178
+ /**
179
+ * Action to log errors for mails failed to send.
180
+ *
181
+ * @since 1.8.0
182
+ * @global $wpml_current_mail_id
183
+ * @param \WP_Error $wperror
184
+ */
185
+ public function log_email_failed( $wperror ) {
186
+ global $wpml_current_mail_id;
187
+ if(!isset($wpml_current_mail_id)) return;
188
+ $failed_mail = Mail::find_one($wpml_current_mail_id);
189
+ if( !$failed_mail ) return;
190
+ $failed_mail->set_error($wperror->get_error_message())->save();
191
+ }
192
+
193
+ private function extractReceiver( $receiver ) {
194
+ return is_array( $receiver ) ? implode( ',\n', $receiver ) : $receiver;
195
+ }
196
+
197
+ private function extractHeader( $headers ) {
198
+ return is_array( $headers ) ? implode( ',\n', $headers ) : $headers;
199
+ }
200
+
201
+ private function extractAttachments( $mail ) {
202
+ $attachments = isset($mail['attachments']) ? $mail['attachments'] : array();
203
+ $attachments = is_array( $attachments ) ? $attachments : array( $attachments );
204
+ $attachment_urls = array();
205
+ $uploads = wp_upload_dir();
206
+ $basename = 'uploads';
207
+ $basename_needle = '/'.$basename.'/';
208
+ foreach ( $attachments as $attachment ) {
209
+ $append_url = substr( $attachment, strrpos( $attachment, $basename_needle ) + strlen($basename_needle) - 1 );
210
+ $attachment_urls[] = $append_url;
211
+ }
212
+ return implode( ',\n', $attachment_urls );
213
+ }
214
+
215
+ private function extractMessage( $mail ) {
216
+ if ( isset($mail['message']) ) {
217
+ // usually the message is stored in the message field
218
+ return $mail['message'];
219
+ } elseif ( isset($mail['html']) ) {
220
+ // for example Mandrill stores the message in the 'html' field (see gh-22)
221
+ return $mail['html'];
222
+ }
223
+ return "";
224
+ }
225
+
226
+
227
+ private function extractFields( $mail ) {
228
+ return array(
229
+ 'receiver' => $this->extractReceiver( $mail['to'] ),
230
+ 'subject' => $mail['subject'],
231
+ 'message' => $this->extractMessage( $mail ),
232
+ 'headers' => $this->extractHeader( $mail['headers'] ),
233
+ 'attachments' => $this->extractAttachments( $mail ),
234
+ 'plugin_version' => $this->getVersionSaved(),
235
+ 'timestamp' => current_time( 'mysql' ),
236
+ 'host' => isset( $_SERVER['SERVER_ADDR'] ) ? $_SERVER['SERVER_ADDR'] : ''
237
+ );
238
+ }
239
+
240
+
241
+ /**
242
+ * Logs mail to database.
243
+ *
244
+ * @param array $mailOriginal
245
+ * @global $wpml_current_mail_id
246
+ * @since 1.0
247
+ * @return array $mailOriginal
248
+ */
249
+ public function log_email( $mailOriginal ) {
250
+ global $wpml_current_mail_id;
251
+ // make copy to avoid any changes on the original mail
252
+ $mail = $mailOriginal;
253
+
254
+ $fields = $this->extractFields( $mail );
255
+ $wpml_current_mail_id = Mail::create($fields)->save();
256
+
257
+ return $mailOriginal;
258
+ }
259
+ }
languages/wp-mail-logging-de_DE.mo CHANGED
Binary file
languages/wp-mail-logging-de_DE.po CHANGED
@@ -1,375 +1,375 @@
1
- # Copyright (C) 2016 Christian Z&ouml;ller
2
- # This file is distributed under the GPLv3.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: WP Mail Logging 1.8.0\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
7
- "POT-Creation-Date: 2017-01-03 19:59+0100\n"
8
- "PO-Revision-Date: 2017-01-03 20:08+0100\n"
9
- "Last-Translator: \n"
10
- "Language-Team: \n"
11
- "Language: de_DE\n"
12
- "MIME-Version: 1.0\n"
13
- "Content-Type: text/plain; charset=UTF-8\n"
14
- "Content-Transfer-Encoding: 8bit\n"
15
- "X-Generator: Poedit 1.8.6\n"
16
- "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
-
18
- #: WPML_Email_Log_List.php:59
19
- msgid "No email found."
20
- msgstr "Keine E-Mail gefunden."
21
-
22
- #: WPML_Email_Log_List.php:71
23
- msgid "ID"
24
- msgstr "ID"
25
-
26
- #: WPML_Email_Log_List.php:72 inc/redux/WPML_Redux_Framework_config.php:343
27
- msgid "Time"
28
- msgstr "Zeit"
29
-
30
- #: WPML_Email_Log_List.php:73
31
- msgid "Receiver"
32
- msgstr "Empfänger"
33
-
34
- #: WPML_Email_Log_List.php:74
35
- msgid "Subject"
36
- msgstr "Betreff"
37
-
38
- #: WPML_Email_Log_List.php:75 WPML_OptionsManager.php:497
39
- msgid "Message"
40
- msgstr "Nachricht"
41
-
42
- #: WPML_Email_Log_List.php:76
43
- msgid "Headers"
44
- msgstr "Header"
45
-
46
- #: WPML_Email_Log_List.php:77
47
- msgid "Attachments"
48
- msgstr "Anhänge"
49
-
50
- #: WPML_Email_Log_List.php:78
51
- msgid "Error"
52
- msgstr "Fehler"
53
-
54
- #: WPML_Email_Log_List.php:79
55
- msgid "Plugin Version"
56
- msgstr "Plugin Version"
57
-
58
- #: WPML_Email_Log_List.php:90
59
- msgid "Host"
60
- msgstr "Host"
61
-
62
- #: WPML_Email_Log_List.php:267 WPML_Email_Log_List.php:301
63
- msgid "Attachment %s is not present"
64
- msgstr "Anhang %s ist nicht vorhanden"
65
-
66
- #: WPML_Email_Log_List.php:495
67
- msgid "Fallback to raw format because html is not convertible to json."
68
- msgstr ""
69
- "Darstellung in raw-Format, da eine html Nachricht nicht als json "
70
- "dargestellt werden kann."
71
-
72
- #: WPML_LifeCycle.php:205
73
- msgid "Settings"
74
- msgstr "Einstellungen"
75
-
76
- #: WPML_OptionsManager.php:321 WPML_OptionsManager.php:322
77
- msgid "WP Mail Log"
78
- msgstr ""
79
-
80
- #: WPML_OptionsManager.php:333 WPML_OptionsManager.php:334
81
- #: WPML_OptionsManager.php:345
82
- msgid "About"
83
- msgstr "Über"
84
-
85
- #: WPML_OptionsManager.php:422
86
- msgid "About Plugin"
87
- msgstr "Über das Plugin"
88
-
89
- #: WPML_OptionsManager.php:431
90
- msgid "More information"
91
- msgstr "Mehr Informationen"
92
-
93
- #: WPML_OptionsManager.php:432
94
- msgid "Plugin Homepage/support"
95
- msgstr ""
96
-
97
- #: WPML_OptionsManager.php:433
98
- msgid "Plugin author's blog"
99
- msgstr ""
100
-
101
- #: WPML_OptionsManager.php:440
102
- msgid "Entries per page"
103
- msgstr "Einträge pro Seite"
104
-
105
- #: WPML_OptionsManager.php:462
106
- msgid "You do not have sufficient permissions to access this page."
107
- msgstr "Sie haben keine ausreichende Berechtigung um diese Seite zu öffnen."
108
-
109
- #: WPML_OptionsManager.php:471
110
- msgid "Log"
111
- msgstr "Log"
112
-
113
- #: WPML_OptionsManager.php:515
114
- msgid "Close"
115
- msgstr "Schließen"
116
-
117
- #: WPML_OptionsManager.php:529
118
- msgid "Search"
119
- msgstr "Suchen"
120
-
121
- #: WPML_OptionsManager.php:554
122
- msgid "true"
123
- msgstr ""
124
-
125
- #: WPML_OptionsManager.php:556
126
- msgid "false"
127
- msgstr ""
128
-
129
- #: WPML_OptionsManager.php:559
130
- msgid "Administrator"
131
- msgstr ""
132
-
133
- #: WPML_OptionsManager.php:561
134
- msgid "Editor"
135
- msgstr ""
136
-
137
- #: WPML_OptionsManager.php:563
138
- msgid "Author"
139
- msgstr ""
140
-
141
- #: WPML_OptionsManager.php:565
142
- msgid "Contributor"
143
- msgstr ""
144
-
145
- #: WPML_OptionsManager.php:567
146
- msgid "Subscriber"
147
- msgstr ""
148
-
149
- #: WPML_OptionsManager.php:569
150
- msgid "Anyone"
151
- msgstr ""
152
-
153
- #: inc/class-wp-list-table.php:191
154
- msgid "No items found."
155
- msgstr "Keine Einträge gefunden."
156
-
157
- #: inc/class-wp-list-table.php:315
158
- msgid "Bulk Actions"
159
- msgstr ""
160
-
161
- #: inc/class-wp-list-table.php:325
162
- msgid "Apply"
163
- msgstr "Anwenden"
164
-
165
- #: inc/class-wp-list-table.php:409
166
- msgid "Show all dates"
167
- msgstr ""
168
-
169
- #. translators: 1: month name, 2: 4-digit year
170
- #: inc/class-wp-list-table.php:422
171
- msgid "%1$s %2$d"
172
- msgstr ""
173
-
174
- #: inc/class-wp-list-table.php:438
175
- msgid "List View"
176
- msgstr ""
177
-
178
- #: inc/class-wp-list-table.php:439
179
- msgid "Excerpt View"
180
- msgstr ""
181
-
182
- #: inc/class-wp-list-table.php:465
183
- msgid "%s pending"
184
- msgstr ""
185
-
186
- #: inc/class-wp-list-table.php:533 inc/class-wp-list-table.php:948
187
- msgid "1 item"
188
- msgid_plural "%s items"
189
- msgstr[0] ""
190
- msgstr[1] ""
191
-
192
- #: inc/class-wp-list-table.php:551
193
- msgid "Go to the first page"
194
- msgstr ""
195
-
196
- #: inc/class-wp-list-table.php:558
197
- msgid "Go to the previous page"
198
- msgstr ""
199
-
200
- #: inc/class-wp-list-table.php:567
201
- msgid "Current page"
202
- msgstr ""
203
-
204
- #: inc/class-wp-list-table.php:577
205
- msgid "Go to the next page"
206
- msgstr ""
207
-
208
- #: inc/class-wp-list-table.php:584
209
- msgid "Go to the last page"
210
- msgstr ""
211
-
212
- #: inc/class-wp-list-table.php:720
213
- msgid "Select All"
214
- msgstr ""
215
-
216
- #: inc/redux/WPML_Redux_Framework_config.php:194
217
- msgid "Customize &#8220;%s&#8221;"
218
- msgstr ""
219
-
220
- #: inc/redux/WPML_Redux_Framework_config.php:203
221
- #: inc/redux/WPML_Redux_Framework_config.php:207
222
- msgid "Current theme preview"
223
- msgstr ""
224
-
225
- #: inc/redux/WPML_Redux_Framework_config.php:214
226
- msgid "By %s"
227
- msgstr ""
228
-
229
- #: inc/redux/WPML_Redux_Framework_config.php:215
230
- msgid "Version %s"
231
- msgstr ""
232
-
233
- #: inc/redux/WPML_Redux_Framework_config.php:216
234
- msgid "Tags"
235
- msgstr ""
236
-
237
- #: inc/redux/WPML_Redux_Framework_config.php:221
238
- msgid "This <a href=\"%1$s\">child theme</a> requires its parent theme, %2$s."
239
- msgstr ""
240
-
241
- #: inc/redux/WPML_Redux_Framework_config.php:221
242
- msgid "http://codex.wordpress.org/Child_Themes"
243
- msgstr ""
244
-
245
- #: inc/redux/WPML_Redux_Framework_config.php:244
246
- msgid "General Settings"
247
- msgstr ""
248
-
249
- #: inc/redux/WPML_Redux_Framework_config.php:253
250
- msgid "Cleanup"
251
- msgstr "Aufräumen"
252
-
253
- #: inc/redux/WPML_Redux_Framework_config.php:254
254
- msgid "Delete all data on deactivation? (emails and settings)?"
255
- msgstr "Alle Daten bei Deaktivierung löschen? (E-Mails und Einstellungen)"
256
-
257
- #: inc/redux/WPML_Redux_Framework_config.php:264
258
- msgid "Can See Submission data"
259
- msgstr "Daten sichtbar für"
260
-
261
- #: inc/redux/WPML_Redux_Framework_config.php:265
262
- msgid "Select the minimum role."
263
- msgstr "Wähle die Mindestberechtigung"
264
-
265
- #: inc/redux/WPML_Redux_Framework_config.php:270
266
- msgid "WordPress Date Time Format"
267
- msgstr "WordPress Zeitstempel Format"
268
-
269
- #: inc/redux/WPML_Redux_Framework_config.php:271
270
- msgid "Use format from WordPress settings (%s)"
271
- msgstr "Benutze das WordPress Datumsformat aus den Einstellungen (%s)"
272
-
273
- #: inc/redux/WPML_Redux_Framework_config.php:273
274
- #: inc/redux/WPML_Redux_Framework_config.php:298
275
- #: inc/redux/WPML_Redux_Framework_config.php:314
276
- #: inc/redux/WPML_Redux_Framework_config.php:336
277
- msgid "Enabled"
278
- msgstr "Ein"
279
-
280
- #: inc/redux/WPML_Redux_Framework_config.php:274
281
- #: inc/redux/WPML_Redux_Framework_config.php:299
282
- #: inc/redux/WPML_Redux_Framework_config.php:315
283
- #: inc/redux/WPML_Redux_Framework_config.php:337
284
- msgid "Disabled"
285
- msgstr "Aus"
286
-
287
- #: inc/redux/WPML_Redux_Framework_config.php:285
288
- msgid "Default Format for Message"
289
- msgstr "Standardformat für Nachrichten"
290
-
291
- #: inc/redux/WPML_Redux_Framework_config.php:286
292
- msgid "Select your preferred display format."
293
- msgstr "Bevorzugtes Standardformat"
294
-
295
- #: inc/redux/WPML_Redux_Framework_config.php:291
296
- msgid "Display Host"
297
- msgstr "Zeige Host"
298
-
299
- #: inc/redux/WPML_Redux_Framework_config.php:292
300
- msgid "Display host column in list."
301
- msgstr "Zeige Host Spalte in Liste"
302
-
303
- #: inc/redux/WPML_Redux_Framework_config.php:304
304
- msgid "Log Rotation"
305
- msgstr ""
306
-
307
- #: inc/redux/WPML_Redux_Framework_config.php:305
308
- msgid "Save space by deleting logs regularly."
309
- msgstr "Platz sparen durch regelmäßiges Löschen des Logs."
310
-
311
- #: inc/redux/WPML_Redux_Framework_config.php:311
312
- msgid "Cleanup by Amount"
313
- msgstr "Löschen nach Anzahl"
314
-
315
- #: inc/redux/WPML_Redux_Framework_config.php:312
316
- #: inc/redux/WPML_Redux_Framework_config.php:334
317
- msgid "Setup a automated cleanup routine!"
318
- msgstr "Erstelle eine automatische Aufräumroutine!"
319
-
320
- #: inc/redux/WPML_Redux_Framework_config.php:321
321
- msgid "Amount"
322
- msgstr "Anzahl"
323
-
324
- #: inc/redux/WPML_Redux_Framework_config.php:322
325
- #: inc/redux/WPML_Redux_Framework_config.php:344
326
- msgid "When should mails are deleted?"
327
- msgstr "Wann sollen Mails gelöscht werden?"
328
-
329
- #: inc/redux/WPML_Redux_Framework_config.php:323
330
- msgid "Cleanup when the stored mails exceed..."
331
- msgstr "Lösche wenn die Mails den Betrag übersteigen..."
332
-
333
- #: inc/redux/WPML_Redux_Framework_config.php:333
334
- msgid "Cleanup by Time"
335
- msgstr "Löschen nach Zeit"
336
-
337
- #: inc/redux/WPML_Redux_Framework_config.php:345
338
- msgid "Delete mails older than days..."
339
- msgstr "Lösche Mails älter als ... Tage"
340
-
341
- #: inc/redux/WPML_Redux_Framework_config.php:510
342
- msgid "Documentation"
343
- msgstr "Dokumentation"
344
-
345
- #: inc/redux/WPML_Redux_Framework_config.php:516
346
- msgid "Support"
347
- msgstr "Hilfe"
348
-
349
- #: inc/redux/WPML_Redux_Framework_config.php:522
350
- msgid "Extensions"
351
- msgstr "Erweiterungen"
352
-
353
- #: wp-mail-logging.php:48
354
- msgid ""
355
- "Error: plugin \"WP Mail Logging\" requires a newer version of PHP to be "
356
- "running."
357
- msgstr ""
358
- "Fehler: Das Plugin \"WP Mail Logging\" benötigt eine neuere PHP Version."
359
-
360
- #: wp-mail-logging.php:49
361
- msgid "Minimal version of PHP required: "
362
- msgstr "Mindestanforderung PHP Version:"
363
-
364
- #: wp-mail-logging.php:50
365
- msgid "Your server's PHP version: "
366
- msgstr "Die PHP Version des Servers:"
367
-
368
- #. Description of the plugin/theme
369
- msgid "Logs each email sent by WordPress."
370
- msgstr ""
371
-
372
- #: inc/class-wp-list-table.php:573
373
- msgctxt "paging"
374
- msgid "%1$s of %2$s"
375
- msgstr "%1$s von %2$s"
1
+ # Copyright (C) 2016 Christian Z&ouml;ller
2
+ # This file is distributed under the GPLv3.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: WP Mail Logging 1.8.0\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
7
+ "POT-Creation-Date: 2017-01-03 19:59+0100\n"
8
+ "PO-Revision-Date: 2018-06-22 17:31+0200\n"
9
+ "Last-Translator: \n"
10
+ "Language-Team: \n"
11
+ "Language: de_DE\n"
12
+ "MIME-Version: 1.0\n"
13
+ "Content-Type: text/plain; charset=UTF-8\n"
14
+ "Content-Transfer-Encoding: 8bit\n"
15
+ "X-Generator: Poedit 2.0.8\n"
16
+ "Plural-Forms: nplurals=2; plural=(n != 1);\n"
17
+
18
+ #: WPML_Email_Log_List.php:59
19
+ msgid "No email found."
20
+ msgstr "Keine E-Mail gefunden."
21
+
22
+ #: WPML_Email_Log_List.php:71
23
+ msgid "ID"
24
+ msgstr "ID"
25
+
26
+ #: WPML_Email_Log_List.php:72 inc/redux/WPML_Redux_Framework_config.php:343
27
+ msgid "Time"
28
+ msgstr "Zeit"
29
+
30
+ #: WPML_Email_Log_List.php:73
31
+ msgid "Receiver"
32
+ msgstr "Empfänger"
33
+
34
+ #: WPML_Email_Log_List.php:74
35
+ msgid "Subject"
36
+ msgstr "Betreff"
37
+
38
+ #: WPML_Email_Log_List.php:75 WPML_OptionsManager.php:497
39
+ msgid "Message"
40
+ msgstr "Nachricht"
41
+
42
+ #: WPML_Email_Log_List.php:76
43
+ msgid "Headers"
44
+ msgstr "Header"
45
+
46
+ #: WPML_Email_Log_List.php:77
47
+ msgid "Attachments"
48
+ msgstr "Anhänge"
49
+
50
+ #: WPML_Email_Log_List.php:78
51
+ msgid "Error"
52
+ msgstr "Fehler"
53
+
54
+ #: WPML_Email_Log_List.php:79
55
+ msgid "Plugin Version"
56
+ msgstr "Plugin Version"
57
+
58
+ #: WPML_Email_Log_List.php:90
59
+ msgid "Host"
60
+ msgstr "Host"
61
+
62
+ #: WPML_Email_Log_List.php:267 WPML_Email_Log_List.php:301
63
+ msgid "Attachment %s is not present"
64
+ msgstr "Anhang %s ist nicht vorhanden"
65
+
66
+ #: WPML_Email_Log_List.php:495
67
+ msgid "Fallback to raw format because html is not convertible to json."
68
+ msgstr ""
69
+ "Darstellung in raw-Format, da eine html Nachricht nicht als json "
70
+ "dargestellt werden kann."
71
+
72
+ #: WPML_LifeCycle.php:205
73
+ msgid "Settings"
74
+ msgstr "Einstellungen"
75
+
76
+ #: WPML_OptionsManager.php:321 WPML_OptionsManager.php:322
77
+ msgid "WP Mail Log"
78
+ msgstr ""
79
+
80
+ #: WPML_OptionsManager.php:333 WPML_OptionsManager.php:334
81
+ #: WPML_OptionsManager.php:345
82
+ msgid "About"
83
+ msgstr "Über"
84
+
85
+ #: WPML_OptionsManager.php:422
86
+ msgid "About Plugin"
87
+ msgstr "Über das Plugin"
88
+
89
+ #: WPML_OptionsManager.php:431
90
+ msgid "More information"
91
+ msgstr "Mehr Informationen"
92
+
93
+ #: WPML_OptionsManager.php:432
94
+ msgid "Plugin Homepage/support"
95
+ msgstr ""
96
+
97
+ #: WPML_OptionsManager.php:433
98
+ msgid "Plugin author's blog"
99
+ msgstr ""
100
+
101
+ #: WPML_OptionsManager.php:440
102
+ msgid "Entries per page"
103
+ msgstr "Einträge pro Seite"
104
+
105
+ #: WPML_OptionsManager.php:462
106
+ msgid "You do not have sufficient permissions to access this page."
107
+ msgstr "Sie haben keine ausreichende Berechtigung um diese Seite zu öffnen."
108
+
109
+ #: WPML_OptionsManager.php:471
110
+ msgid "Log"
111
+ msgstr "Log"
112
+
113
+ #: WPML_OptionsManager.php:515
114
+ msgid "Close"
115
+ msgstr "Schließen"
116
+
117
+ #: WPML_OptionsManager.php:529
118
+ msgid "Search"
119
+ msgstr "Suchen"
120
+
121
+ #: WPML_OptionsManager.php:554
122
+ msgid "true"
123
+ msgstr ""
124
+
125
+ #: WPML_OptionsManager.php:556
126
+ msgid "false"
127
+ msgstr ""
128
+
129
+ #: WPML_OptionsManager.php:559
130
+ msgid "Administrator"
131
+ msgstr ""
132
+
133
+ #: WPML_OptionsManager.php:561
134
+ msgid "Editor"
135
+ msgstr ""
136
+
137
+ #: WPML_OptionsManager.php:563
138
+ msgid "Author"
139
+ msgstr ""
140
+
141
+ #: WPML_OptionsManager.php:565
142
+ msgid "Contributor"
143
+ msgstr ""
144
+
145
+ #: WPML_OptionsManager.php:567
146
+ msgid "Subscriber"
147
+ msgstr ""
148
+
149
+ #: WPML_OptionsManager.php:569
150
+ msgid "Anyone"
151
+ msgstr ""
152
+
153
+ #: inc/class-wp-list-table.php:191
154
+ msgid "No items found."
155
+ msgstr "Keine Einträge gefunden."
156
+
157
+ #: inc/class-wp-list-table.php:315
158
+ msgid "Bulk Actions"
159
+ msgstr ""
160
+
161
+ #: inc/class-wp-list-table.php:325
162
+ msgid "Apply"
163
+ msgstr "Anwenden"
164
+
165
+ #: inc/class-wp-list-table.php:409
166
+ msgid "Show all dates"
167
+ msgstr ""
168
+
169
+ #. translators: 1: month name, 2: 4-digit year
170
+ #: inc/class-wp-list-table.php:422
171
+ msgid "%1$s %2$d"
172
+ msgstr ""
173
+
174
+ #: inc/class-wp-list-table.php:438
175
+ msgid "List View"
176
+ msgstr ""
177
+
178
+ #: inc/class-wp-list-table.php:439
179
+ msgid "Excerpt View"
180
+ msgstr ""
181
+
182
+ #: inc/class-wp-list-table.php:465
183
+ msgid "%s pending"
184
+ msgstr ""
185
+
186
+ #: inc/class-wp-list-table.php:533 inc/class-wp-list-table.php:948
187
+ msgid "1 item"
188
+ msgid_plural "%s items"
189
+ msgstr[0] ""
190
+ msgstr[1] ""
191
+
192
+ #: inc/class-wp-list-table.php:551
193
+ msgid "Go to the first page"
194
+ msgstr ""
195
+
196
+ #: inc/class-wp-list-table.php:558
197
+ msgid "Go to the previous page"
198
+ msgstr ""
199
+
200
+ #: inc/class-wp-list-table.php:567
201
+ msgid "Current page"
202
+ msgstr ""
203
+
204
+ #: inc/class-wp-list-table.php:577
205
+ msgid "Go to the next page"
206
+ msgstr ""
207
+
208
+ #: inc/class-wp-list-table.php:584
209
+ msgid "Go to the last page"
210
+ msgstr ""
211
+
212
+ #: inc/class-wp-list-table.php:720
213
+ msgid "Select All"
214
+ msgstr ""
215
+
216
+ #: inc/redux/WPML_Redux_Framework_config.php:194
217
+ msgid "Customize &#8220;%s&#8221;"
218
+ msgstr ""
219
+
220
+ #: inc/redux/WPML_Redux_Framework_config.php:203
221
+ #: inc/redux/WPML_Redux_Framework_config.php:207
222
+ msgid "Current theme preview"
223
+ msgstr ""
224
+
225
+ #: inc/redux/WPML_Redux_Framework_config.php:214
226
+ msgid "By %s"
227
+ msgstr ""
228
+
229
+ #: inc/redux/WPML_Redux_Framework_config.php:215
230
+ msgid "Version %s"
231
+ msgstr ""
232
+
233
+ #: inc/redux/WPML_Redux_Framework_config.php:216
234
+ msgid "Tags"
235
+ msgstr ""
236
+
237
+ #: inc/redux/WPML_Redux_Framework_config.php:221
238
+ msgid "This <a href=\"%1$s\">child theme</a> requires its parent theme, %2$s."
239
+ msgstr ""
240
+
241
+ #: inc/redux/WPML_Redux_Framework_config.php:221
242
+ msgid "http://codex.wordpress.org/Child_Themes"
243
+ msgstr ""
244
+
245
+ #: inc/redux/WPML_Redux_Framework_config.php:244
246
+ msgid "General Settings"
247
+ msgstr ""
248
+
249
+ #: inc/redux/WPML_Redux_Framework_config.php:253
250
+ msgid "Cleanup"
251
+ msgstr "Aufräumen"
252
+
253
+ #: inc/redux/WPML_Redux_Framework_config.php:254
254
+ msgid "Delete all data on deactivation? (emails and settings)?"
255
+ msgstr "Alle Daten bei Deaktivierung löschen? (E-Mails und Einstellungen)"
256
+
257
+ #: inc/redux/WPML_Redux_Framework_config.php:264
258
+ msgid "Can See Submission data"
259
+ msgstr "Daten sichtbar für"
260
+
261
+ #: inc/redux/WPML_Redux_Framework_config.php:265
262
+ msgid "Select the minimum role."
263
+ msgstr "Wähle die Mindestberechtigung"
264
+
265
+ #: inc/redux/WPML_Redux_Framework_config.php:270
266
+ msgid "WordPress Date Time Format"
267
+ msgstr "WordPress Zeitstempel Format"
268
+
269
+ #: inc/redux/WPML_Redux_Framework_config.php:271
270
+ msgid "Use format from WordPress settings (%s)"
271
+ msgstr "Benutze das WordPress Datumsformat aus den Einstellungen (%s)"
272
+
273
+ #: inc/redux/WPML_Redux_Framework_config.php:273
274
+ #: inc/redux/WPML_Redux_Framework_config.php:298
275
+ #: inc/redux/WPML_Redux_Framework_config.php:314
276
+ #: inc/redux/WPML_Redux_Framework_config.php:336
277
+ msgid "Enabled"
278
+ msgstr "Ein"
279
+
280
+ #: inc/redux/WPML_Redux_Framework_config.php:274
281
+ #: inc/redux/WPML_Redux_Framework_config.php:299
282
+ #: inc/redux/WPML_Redux_Framework_config.php:315
283
+ #: inc/redux/WPML_Redux_Framework_config.php:337
284
+ msgid "Disabled"
285
+ msgstr "Aus"
286
+
287
+ #: inc/redux/WPML_Redux_Framework_config.php:285
288
+ msgid "Default Format for Message"
289
+ msgstr "Standardformat für Nachrichten"
290
+
291
+ #: inc/redux/WPML_Redux_Framework_config.php:286
292
+ msgid "Select your preferred display format."
293
+ msgstr "Bevorzugtes Standardformat"
294
+
295
+ #: inc/redux/WPML_Redux_Framework_config.php:291
296
+ msgid "Display Host"
297
+ msgstr "Zeige Host"
298
+
299
+ #: inc/redux/WPML_Redux_Framework_config.php:292
300
+ msgid "Display host column in list."
301
+ msgstr "Zeige Host Spalte in Liste"
302
+
303
+ #: inc/redux/WPML_Redux_Framework_config.php:304
304
+ msgid "Log Rotation"
305
+ msgstr ""
306
+
307
+ #: inc/redux/WPML_Redux_Framework_config.php:305
308
+ msgid "Save space by deleting logs regularly."
309
+ msgstr "Platz sparen durch regelmäßiges Löschen des Logs."
310
+
311
+ #: inc/redux/WPML_Redux_Framework_config.php:311
312
+ msgid "Cleanup by Amount"
313
+ msgstr "Löschen nach Anzahl"
314
+
315
+ #: inc/redux/WPML_Redux_Framework_config.php:312
316
+ #: inc/redux/WPML_Redux_Framework_config.php:334
317
+ msgid "Setup a automated cleanup routine!"
318
+ msgstr "Erstelle eine automatische Aufräumroutine!"
319
+
320
+ #: inc/redux/WPML_Redux_Framework_config.php:321
321
+ msgid "Amount"
322
+ msgstr "Anzahl"
323
+
324
+ #: inc/redux/WPML_Redux_Framework_config.php:322
325
+ #: inc/redux/WPML_Redux_Framework_config.php:344
326
+ msgid "When should mails are deleted?"
327
+ msgstr "Wann sollen Mails gelöscht werden?"
328
+
329
+ #: inc/redux/WPML_Redux_Framework_config.php:323
330
+ msgid "Cleanup when the stored mails exceed..."
331
+ msgstr "Lösche wenn die Mails den Betrag übersteigen..."
332
+
333
+ #: inc/redux/WPML_Redux_Framework_config.php:333
334
+ msgid "Cleanup by Time"
335
+ msgstr "Löschen nach Zeit"
336
+
337
+ #: inc/redux/WPML_Redux_Framework_config.php:345
338
+ msgid "Delete mails older than days..."
339
+ msgstr "Lösche Mails älter als ... Tage"
340
+
341
+ #: inc/redux/WPML_Redux_Framework_config.php:510
342
+ msgid "Documentation"
343
+ msgstr "Dokumentation"
344
+
345
+ #: inc/redux/WPML_Redux_Framework_config.php:516
346
+ msgid "Support"
347
+ msgstr "Hilfe"
348
+
349
+ #: inc/redux/WPML_Redux_Framework_config.php:522
350
+ msgid "Extensions"
351
+ msgstr "Erweiterungen"
352
+
353
+ #: wp-mail-logging.php:48
354
+ msgid ""
355
+ "Error: plugin \"WP Mail Logging\" requires a newer version of PHP to be "
356
+ "running."
357
+ msgstr ""
358
+ "Fehler: Das Plugin \"WP Mail Logging\" benötigt eine neuere PHP Version."
359
+
360
+ #: wp-mail-logging.php:49
361
+ msgid "Minimal version of PHP required: "
362
+ msgstr "Mindestanforderung PHP Version:"
363
+
364
+ #: wp-mail-logging.php:50
365
+ msgid "Your server's PHP version: "
366
+ msgstr "Die PHP Version des Servers:"
367
+
368
+ #. Description of the plugin/theme
369
+ msgid "Logs each email sent by WordPress."
370
+ msgstr ""
371
+
372
+ #: inc/class-wp-list-table.php:573
373
+ msgctxt "paging"
374
+ msgid "%1$s of %2$s"
375
+ msgstr "%1$s von %2$s"
languages/wp-mail-logging-zh_CN.mo CHANGED
Binary file
languages/wp-mail-logging-zh_CN.po CHANGED
@@ -1,371 +1,371 @@
1
- # Copyright (C) 2017 Christian Z&ouml;ller
2
- # This file is distributed under the GPLv3.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: WP Mail Logging 1.8.0\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
7
- "POT-Creation-Date: 2017-02-12 02:34+0800\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=UTF-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2017-02-15 09:29+0800\n"
12
- "Language-Team: \n"
13
- "X-Generator: Poedit 1.8.1\n"
14
- "Plural-Forms: nplurals=1; plural=0;\n"
15
- "Language: zh_CN\n"
16
- "Last-Translator: \n"
17
-
18
- #: WPML_Email_Log_List.php:59
19
- msgid "No email found."
20
- msgstr "未找到电子邮件。"
21
-
22
- #: WPML_Email_Log_List.php:71
23
- msgid "ID"
24
- msgstr "ID"
25
-
26
- #: WPML_Email_Log_List.php:72 inc/redux/WPML_Redux_Framework_config.php:343
27
- msgid "Time"
28
- msgstr "时间"
29
-
30
- #: WPML_Email_Log_List.php:73
31
- msgid "Receiver"
32
- msgstr "收件人"
33
-
34
- #: WPML_Email_Log_List.php:74
35
- msgid "Subject"
36
- msgstr "主题"
37
-
38
- #: WPML_Email_Log_List.php:75 WPML_OptionsManager.php:497
39
- msgid "Message"
40
- msgstr "消息"
41
-
42
- #: WPML_Email_Log_List.php:76
43
- msgid "Headers"
44
- msgstr "邮件头"
45
-
46
- #: WPML_Email_Log_List.php:77
47
- msgid "Attachments"
48
- msgstr "附件"
49
-
50
- #: WPML_Email_Log_List.php:78
51
- msgid "Error"
52
- msgstr "错误"
53
-
54
- #: WPML_Email_Log_List.php:79
55
- msgid "Plugin Version"
56
- msgstr "插件版本"
57
-
58
- #: WPML_Email_Log_List.php:90
59
- msgid "Host"
60
- msgstr "主机名"
61
-
62
- #: WPML_Email_Log_List.php:267 WPML_Email_Log_List.php:301
63
- msgid "Attachment %s is not present"
64
- msgstr "附件 %s 不存在"
65
-
66
- #: WPML_Email_Log_List.php:495
67
- msgid "Fallback to raw format because html is not convertible to json."
68
- msgstr "回退到原始格式,因为 html 不是转换为 json。"
69
-
70
- #: WPML_LifeCycle.php:205
71
- msgid "Settings"
72
- msgstr "设置"
73
-
74
- #: WPML_OptionsManager.php:321 WPML_OptionsManager.php:322
75
- msgid "WP Mail Log"
76
- msgstr "WP Mail Log"
77
-
78
- #: WPML_OptionsManager.php:333 WPML_OptionsManager.php:334
79
- #: WPML_OptionsManager.php:345
80
- msgid "About"
81
- msgstr "关于"
82
-
83
- #: WPML_OptionsManager.php:422
84
- msgid "About Plugin"
85
- msgstr "关于插件"
86
-
87
- #: WPML_OptionsManager.php:431
88
- msgid "More information"
89
- msgstr "更多信息"
90
-
91
- #: WPML_OptionsManager.php:432
92
- msgid "Plugin Homepage/support"
93
- msgstr "插件主页/支持"
94
-
95
- #: WPML_OptionsManager.php:433
96
- msgid "Plugin author's blog"
97
- msgstr "插件作者的博客"
98
-
99
- #: WPML_OptionsManager.php:440
100
- msgid "Entries per page"
101
- msgstr "每页的项目数:"
102
-
103
- #: WPML_OptionsManager.php:462
104
- msgid "You do not have sufficient permissions to access this page."
105
- msgstr "您没有足够的权限来访问该页面。"
106
-
107
- #: WPML_OptionsManager.php:471
108
- msgid "Log"
109
- msgstr "日志"
110
-
111
- #: WPML_OptionsManager.php:515
112
- msgid "Close"
113
- msgstr "关闭"
114
-
115
- #: WPML_OptionsManager.php:529
116
- msgid "Search"
117
- msgstr "搜索"
118
-
119
- #: WPML_OptionsManager.php:554
120
- msgid "true"
121
- msgstr "true"
122
-
123
- #: WPML_OptionsManager.php:556
124
- msgid "false"
125
- msgstr "false"
126
-
127
- #: WPML_OptionsManager.php:559
128
- msgid "Administrator"
129
- msgstr "管理员"
130
-
131
- #: WPML_OptionsManager.php:561
132
- msgid "Editor"
133
- msgstr "编辑"
134
-
135
- #: WPML_OptionsManager.php:563
136
- msgid "Author"
137
- msgstr "作者"
138
-
139
- #: WPML_OptionsManager.php:565
140
- msgid "Contributor"
141
- msgstr "贡献者"
142
-
143
- #: WPML_OptionsManager.php:567
144
- msgid "Subscriber"
145
- msgstr "订阅者"
146
-
147
- #: WPML_OptionsManager.php:569
148
- msgid "Anyone"
149
- msgstr "任何人"
150
-
151
- #: inc/class-wp-list-table.php:191
152
- msgid "No items found."
153
- msgstr "没有找到项目。"
154
-
155
- #: inc/class-wp-list-table.php:315
156
- msgid "Bulk Actions"
157
- msgstr "批量操作"
158
-
159
- #: inc/class-wp-list-table.php:325
160
- msgid "Apply"
161
- msgstr "应用"
162
-
163
- #: inc/class-wp-list-table.php:409
164
- msgid "Show all dates"
165
- msgstr "显示所有日期"
166
-
167
- #. translators: 1: month name, 2: 4-digit year
168
- #: inc/class-wp-list-table.php:422
169
- msgid "%1$s %2$d"
170
- msgstr "%1$s %2$d"
171
-
172
- #: inc/class-wp-list-table.php:438
173
- msgid "List View"
174
- msgstr "列表视图"
175
-
176
- #: inc/class-wp-list-table.php:439
177
- msgid "Excerpt View"
178
- msgstr "摘要"
179
-
180
- #: inc/class-wp-list-table.php:465
181
- msgid "%s pending"
182
- msgstr "%s 待处理"
183
-
184
- #: inc/class-wp-list-table.php:533 inc/class-wp-list-table.php:948
185
- msgid "1 item"
186
- msgid_plural "%s items"
187
- msgstr[0] "1 项"
188
-
189
- #: inc/class-wp-list-table.php:551
190
- msgid "Go to the first page"
191
- msgstr "转到第一页"
192
-
193
- #: inc/class-wp-list-table.php:558
194
- msgid "Go to the previous page"
195
- msgstr "转到前一页"
196
-
197
- #: inc/class-wp-list-table.php:567
198
- msgid "Current page"
199
- msgstr "当前页面"
200
-
201
- #: inc/class-wp-list-table.php:577
202
- msgid "Go to the next page"
203
- msgstr "转到下一页"
204
-
205
- #: inc/class-wp-list-table.php:584
206
- msgid "Go to the last page"
207
- msgstr "转到最后一页"
208
-
209
- #: inc/class-wp-list-table.php:720
210
- msgid "Select All"
211
- msgstr "全选"
212
-
213
- #: inc/redux/WPML_Redux_Framework_config.php:194
214
- msgid "Customize &#8220;%s&#8221;"
215
- msgstr "自定义 &#8220;%s&#8221;"
216
-
217
- #: inc/redux/WPML_Redux_Framework_config.php:203
218
- #: inc/redux/WPML_Redux_Framework_config.php:207
219
- msgid "Current theme preview"
220
- msgstr "预览当前主题"
221
-
222
- #: inc/redux/WPML_Redux_Framework_config.php:214
223
- msgid "By %s"
224
- msgstr "由 %s"
225
-
226
- #: inc/redux/WPML_Redux_Framework_config.php:215
227
- msgid "Version %s"
228
- msgstr "版本 %s"
229
-
230
- #: inc/redux/WPML_Redux_Framework_config.php:216
231
- msgid "Tags"
232
- msgstr "标签"
233
-
234
- #: inc/redux/WPML_Redux_Framework_config.php:221
235
- msgid "This <a href=\"%1$s\">child theme</a> requires its parent theme, %2$s."
236
- msgstr "此<a href=\"%1$s\">子主题</a>需要其父主题 %2$s。"
237
-
238
- #: inc/redux/WPML_Redux_Framework_config.php:221
239
- msgid "http://codex.wordpress.org/Child_Themes"
240
- msgstr "http://codex.wordpress.org/Child_Themes"
241
-
242
- #: inc/redux/WPML_Redux_Framework_config.php:244
243
- msgid "General Settings"
244
- msgstr "常规设置"
245
-
246
- #: inc/redux/WPML_Redux_Framework_config.php:253
247
- msgid "Cleanup"
248
- msgstr "清理"
249
-
250
- #: inc/redux/WPML_Redux_Framework_config.php:254
251
- msgid "Delete all data on deactivation? (emails and settings)?"
252
- msgstr "删除所有停用的数据吗?(电子邮件和设置)?"
253
-
254
- #: inc/redux/WPML_Redux_Framework_config.php:264
255
- msgid "Can See Submission data"
256
- msgstr "可以看到提交数据"
257
-
258
- #: inc/redux/WPML_Redux_Framework_config.php:265
259
- msgid "Select the minimum role."
260
- msgstr "选择的最小的角色。"
261
-
262
- #: inc/redux/WPML_Redux_Framework_config.php:270
263
- msgid "WordPress Date Time Format"
264
- msgstr "WordPress 的日期时间格式"
265
-
266
- #: inc/redux/WPML_Redux_Framework_config.php:271
267
- msgid "Use format from WordPress settings (%s)"
268
- msgstr "从 WordPress 使用格式设置 (%s)"
269
-
270
- #: inc/redux/WPML_Redux_Framework_config.php:273
271
- #: inc/redux/WPML_Redux_Framework_config.php:298
272
- #: inc/redux/WPML_Redux_Framework_config.php:314
273
- #: inc/redux/WPML_Redux_Framework_config.php:336
274
- msgid "Enabled"
275
- msgstr "启用"
276
-
277
- #: inc/redux/WPML_Redux_Framework_config.php:274
278
- #: inc/redux/WPML_Redux_Framework_config.php:299
279
- #: inc/redux/WPML_Redux_Framework_config.php:315
280
- #: inc/redux/WPML_Redux_Framework_config.php:337
281
- msgid "Disabled"
282
- msgstr "禁用"
283
-
284
- #: inc/redux/WPML_Redux_Framework_config.php:285
285
- msgid "Default Format for Message"
286
- msgstr "消息的默认格式"
287
-
288
- #: inc/redux/WPML_Redux_Framework_config.php:286
289
- msgid "Select your preferred display format."
290
- msgstr "选择您喜欢的显示格式。"
291
-
292
- #: inc/redux/WPML_Redux_Framework_config.php:291
293
- msgid "Display Host"
294
- msgstr "显示主机"
295
-
296
- #: inc/redux/WPML_Redux_Framework_config.php:292
297
- msgid "Display host column in list."
298
- msgstr "在列表中显示主机。"
299
-
300
- #: inc/redux/WPML_Redux_Framework_config.php:304
301
- msgid "Log Rotation"
302
- msgstr "日志轮转"
303
-
304
- #: inc/redux/WPML_Redux_Framework_config.php:305
305
- msgid "Save space by deleting logs regularly."
306
- msgstr "定期删除日志以节省空间。"
307
-
308
- #: inc/redux/WPML_Redux_Framework_config.php:311
309
- msgid "Cleanup by Amount"
310
- msgstr "按数量清理"
311
-
312
- #: inc/redux/WPML_Redux_Framework_config.php:312
313
- #: inc/redux/WPML_Redux_Framework_config.php:334
314
- msgid "Setup a automated cleanup routine!"
315
- msgstr "设置自动清理"
316
-
317
- #: inc/redux/WPML_Redux_Framework_config.php:321
318
- msgid "Amount"
319
- msgstr "数量"
320
-
321
- #: inc/redux/WPML_Redux_Framework_config.php:322
322
- #: inc/redux/WPML_Redux_Framework_config.php:344
323
- msgid "When should mails are deleted?"
324
- msgstr "邮件何时被删除?"
325
-
326
- #: inc/redux/WPML_Redux_Framework_config.php:323
327
- msgid "Cleanup when the stored mails exceed..."
328
- msgstr "当存储的邮件超过上述数量时开始清理邮件..."
329
-
330
- #: inc/redux/WPML_Redux_Framework_config.php:333
331
- msgid "Cleanup by Time"
332
- msgstr "按时间清理"
333
-
334
- #: inc/redux/WPML_Redux_Framework_config.php:345
335
- msgid "Delete mails older than days..."
336
- msgstr "删除超过上述天数的邮件..."
337
-
338
- #: inc/redux/WPML_Redux_Framework_config.php:510
339
- msgid "Documentation"
340
- msgstr "文档"
341
-
342
- #: inc/redux/WPML_Redux_Framework_config.php:516
343
- msgid "Support"
344
- msgstr "支持"
345
-
346
- #: inc/redux/WPML_Redux_Framework_config.php:522
347
- msgid "Extensions"
348
- msgstr "扩展"
349
-
350
- #: wp-mail-logging.php:48
351
- msgid ""
352
- "Error: plugin \"WP Mail Logging\" requires a newer version of PHP to be "
353
- "running."
354
- msgstr "错误:插件“WP Mail Logging”需要运行较新版本的PHP。"
355
-
356
- #: wp-mail-logging.php:49
357
- msgid "Minimal version of PHP required: "
358
- msgstr "PHP的最低版本要求:"
359
-
360
- #: wp-mail-logging.php:50
361
- msgid "Your server's PHP version: "
362
- msgstr "您的服务器的PHP版本:"
363
-
364
- #. Description of the plugin/theme
365
- msgid "Logs each email sent by WordPress."
366
- msgstr "记录WordPress发送的每封电子邮件。"
367
-
368
- #: inc/class-wp-list-table.php:573
369
- msgctxt "paging"
370
- msgid "%1$s of %2$s"
371
- msgstr "%1$s of %2$s"
1
+ # Copyright (C) 2017 Christian Z&ouml;ller
2
+ # This file is distributed under the GPLv3.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: WP Mail Logging 1.8.0\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
7
+ "POT-Creation-Date: 2017-02-12 02:34+0800\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=UTF-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2018-06-22 17:31+0200\n"
12
+ "Language-Team: \n"
13
+ "X-Generator: Poedit 2.0.8\n"
14
+ "Plural-Forms: nplurals=1; plural=0;\n"
15
+ "Language: zh_CN\n"
16
+ "Last-Translator: \n"
17
+
18
+ #: WPML_Email_Log_List.php:59
19
+ msgid "No email found."
20
+ msgstr "未找到电子邮件。"
21
+
22
+ #: WPML_Email_Log_List.php:71
23
+ msgid "ID"
24
+ msgstr "ID"
25
+
26
+ #: WPML_Email_Log_List.php:72 inc/redux/WPML_Redux_Framework_config.php:343
27
+ msgid "Time"
28
+ msgstr "时间"
29
+
30
+ #: WPML_Email_Log_List.php:73
31
+ msgid "Receiver"
32
+ msgstr "收件人"
33
+
34
+ #: WPML_Email_Log_List.php:74
35
+ msgid "Subject"
36
+ msgstr "主题"
37
+
38
+ #: WPML_Email_Log_List.php:75 WPML_OptionsManager.php:497
39
+ msgid "Message"
40
+ msgstr "消息"
41
+
42
+ #: WPML_Email_Log_List.php:76
43
+ msgid "Headers"
44
+ msgstr "邮件头"
45
+
46
+ #: WPML_Email_Log_List.php:77
47
+ msgid "Attachments"
48
+ msgstr "附件"
49
+
50
+ #: WPML_Email_Log_List.php:78
51
+ msgid "Error"
52
+ msgstr "错误"
53
+
54
+ #: WPML_Email_Log_List.php:79
55
+ msgid "Plugin Version"
56
+ msgstr "插件版本"
57
+
58
+ #: WPML_Email_Log_List.php:90
59
+ msgid "Host"
60
+ msgstr "主机名"
61
+
62
+ #: WPML_Email_Log_List.php:267 WPML_Email_Log_List.php:301
63
+ msgid "Attachment %s is not present"
64
+ msgstr "附件 %s 不存在"
65
+
66
+ #: WPML_Email_Log_List.php:495
67
+ msgid "Fallback to raw format because html is not convertible to json."
68
+ msgstr "回退到原始格式,因为 html 不是转换为 json。"
69
+
70
+ #: WPML_LifeCycle.php:205
71
+ msgid "Settings"
72
+ msgstr "设置"
73
+
74
+ #: WPML_OptionsManager.php:321 WPML_OptionsManager.php:322
75
+ msgid "WP Mail Log"
76
+ msgstr "WP Mail Log"
77
+
78
+ #: WPML_OptionsManager.php:333 WPML_OptionsManager.php:334
79
+ #: WPML_OptionsManager.php:345
80
+ msgid "About"
81
+ msgstr "关于"
82
+
83
+ #: WPML_OptionsManager.php:422
84
+ msgid "About Plugin"
85
+ msgstr "关于插件"
86
+
87
+ #: WPML_OptionsManager.php:431
88
+ msgid "More information"
89
+ msgstr "更多信息"
90
+
91
+ #: WPML_OptionsManager.php:432
92
+ msgid "Plugin Homepage/support"
93
+ msgstr "插件主页/支持"
94
+
95
+ #: WPML_OptionsManager.php:433
96
+ msgid "Plugin author's blog"
97
+ msgstr "插件作者的博客"
98
+
99
+ #: WPML_OptionsManager.php:440
100
+ msgid "Entries per page"
101
+ msgstr "每页的项目数:"
102
+
103
+ #: WPML_OptionsManager.php:462
104
+ msgid "You do not have sufficient permissions to access this page."
105
+ msgstr "您没有足够的权限来访问该页面。"
106
+
107
+ #: WPML_OptionsManager.php:471
108
+ msgid "Log"
109
+ msgstr "日志"
110
+
111
+ #: WPML_OptionsManager.php:515
112
+ msgid "Close"
113
+ msgstr "关闭"
114
+
115
+ #: WPML_OptionsManager.php:529
116
+ msgid "Search"
117
+ msgstr "搜索"
118
+
119
+ #: WPML_OptionsManager.php:554
120
+ msgid "true"
121
+ msgstr "true"
122
+
123
+ #: WPML_OptionsManager.php:556
124
+ msgid "false"
125
+ msgstr "false"
126
+
127
+ #: WPML_OptionsManager.php:559
128
+ msgid "Administrator"
129
+ msgstr "管理员"
130
+
131
+ #: WPML_OptionsManager.php:561
132
+ msgid "Editor"
133
+ msgstr "编辑"
134
+
135
+ #: WPML_OptionsManager.php:563
136
+ msgid "Author"
137
+ msgstr "作者"
138
+
139
+ #: WPML_OptionsManager.php:565
140
+ msgid "Contributor"
141
+ msgstr "贡献者"
142
+
143
+ #: WPML_OptionsManager.php:567
144
+ msgid "Subscriber"
145
+ msgstr "订阅者"
146
+
147
+ #: WPML_OptionsManager.php:569
148
+ msgid "Anyone"
149
+ msgstr "任何人"
150
+
151
+ #: inc/class-wp-list-table.php:191
152
+ msgid "No items found."
153
+ msgstr "没有找到项目。"
154
+
155
+ #: inc/class-wp-list-table.php:315
156
+ msgid "Bulk Actions"
157
+ msgstr "批量操作"
158
+
159
+ #: inc/class-wp-list-table.php:325
160
+ msgid "Apply"
161
+ msgstr "应用"
162
+
163
+ #: inc/class-wp-list-table.php:409
164
+ msgid "Show all dates"
165
+ msgstr "显示所有日期"
166
+
167
+ #. translators: 1: month name, 2: 4-digit year
168
+ #: inc/class-wp-list-table.php:422
169
+ msgid "%1$s %2$d"
170
+ msgstr "%1$s %2$d"
171
+
172
+ #: inc/class-wp-list-table.php:438
173
+ msgid "List View"
174
+ msgstr "列表视图"
175
+
176
+ #: inc/class-wp-list-table.php:439
177
+ msgid "Excerpt View"
178
+ msgstr "摘要"
179
+
180
+ #: inc/class-wp-list-table.php:465
181
+ msgid "%s pending"
182
+ msgstr "%s 待处理"
183
+
184
+ #: inc/class-wp-list-table.php:533 inc/class-wp-list-table.php:948
185
+ msgid "1 item"
186
+ msgid_plural "%s items"
187
+ msgstr[0] "1 项"
188
+
189
+ #: inc/class-wp-list-table.php:551
190
+ msgid "Go to the first page"
191
+ msgstr "转到第一页"
192
+
193
+ #: inc/class-wp-list-table.php:558
194
+ msgid "Go to the previous page"
195
+ msgstr "转到前一页"
196
+
197
+ #: inc/class-wp-list-table.php:567
198
+ msgid "Current page"
199
+ msgstr "当前页面"
200
+
201
+ #: inc/class-wp-list-table.php:577
202
+ msgid "Go to the next page"
203
+ msgstr "转到下一页"
204
+
205
+ #: inc/class-wp-list-table.php:584
206
+ msgid "Go to the last page"
207
+ msgstr "转到最后一页"
208
+
209
+ #: inc/class-wp-list-table.php:720
210
+ msgid "Select All"
211
+ msgstr "全选"
212
+
213
+ #: inc/redux/WPML_Redux_Framework_config.php:194
214
+ msgid "Customize &#8220;%s&#8221;"
215
+ msgstr "自定义 &#8220;%s&#8221;"
216
+
217
+ #: inc/redux/WPML_Redux_Framework_config.php:203
218
+ #: inc/redux/WPML_Redux_Framework_config.php:207
219
+ msgid "Current theme preview"
220
+ msgstr "预览当前主题"
221
+
222
+ #: inc/redux/WPML_Redux_Framework_config.php:214
223
+ msgid "By %s"
224
+ msgstr "由 %s"
225
+
226
+ #: inc/redux/WPML_Redux_Framework_config.php:215
227
+ msgid "Version %s"
228
+ msgstr "版本 %s"
229
+
230
+ #: inc/redux/WPML_Redux_Framework_config.php:216
231
+ msgid "Tags"
232
+ msgstr "标签"
233
+
234
+ #: inc/redux/WPML_Redux_Framework_config.php:221
235
+ msgid "This <a href=\"%1$s\">child theme</a> requires its parent theme, %2$s."
236
+ msgstr "此<a href=\"%1$s\">子主题</a>需要其父主题 %2$s。"
237
+
238
+ #: inc/redux/WPML_Redux_Framework_config.php:221
239
+ msgid "http://codex.wordpress.org/Child_Themes"
240
+ msgstr "http://codex.wordpress.org/Child_Themes"
241
+
242
+ #: inc/redux/WPML_Redux_Framework_config.php:244
243
+ msgid "General Settings"
244
+ msgstr "常规设置"
245
+
246
+ #: inc/redux/WPML_Redux_Framework_config.php:253
247
+ msgid "Cleanup"
248
+ msgstr "清理"
249
+
250
+ #: inc/redux/WPML_Redux_Framework_config.php:254
251
+ msgid "Delete all data on deactivation? (emails and settings)?"
252
+ msgstr "删除所有停用的数据吗?(电子邮件和设置)?"
253
+
254
+ #: inc/redux/WPML_Redux_Framework_config.php:264
255
+ msgid "Can See Submission data"
256
+ msgstr "可以看到提交数据"
257
+
258
+ #: inc/redux/WPML_Redux_Framework_config.php:265
259
+ msgid "Select the minimum role."
260
+ msgstr "选择的最小的角色。"
261
+
262
+ #: inc/redux/WPML_Redux_Framework_config.php:270
263
+ msgid "WordPress Date Time Format"
264
+ msgstr "WordPress 的日期时间格式"
265
+
266
+ #: inc/redux/WPML_Redux_Framework_config.php:271
267
+ msgid "Use format from WordPress settings (%s)"
268
+ msgstr "从 WordPress 使用格式设置 (%s)"
269
+
270
+ #: inc/redux/WPML_Redux_Framework_config.php:273
271
+ #: inc/redux/WPML_Redux_Framework_config.php:298
272
+ #: inc/redux/WPML_Redux_Framework_config.php:314
273
+ #: inc/redux/WPML_Redux_Framework_config.php:336
274
+ msgid "Enabled"
275
+ msgstr "启用"
276
+
277
+ #: inc/redux/WPML_Redux_Framework_config.php:274
278
+ #: inc/redux/WPML_Redux_Framework_config.php:299
279
+ #: inc/redux/WPML_Redux_Framework_config.php:315
280
+ #: inc/redux/WPML_Redux_Framework_config.php:337
281
+ msgid "Disabled"
282
+ msgstr "禁用"
283
+
284
+ #: inc/redux/WPML_Redux_Framework_config.php:285
285
+ msgid "Default Format for Message"
286
+ msgstr "消息的默认格式"
287
+
288
+ #: inc/redux/WPML_Redux_Framework_config.php:286
289
+ msgid "Select your preferred display format."
290
+ msgstr "选择您喜欢的显示格式。"
291
+
292
+ #: inc/redux/WPML_Redux_Framework_config.php:291
293
+ msgid "Display Host"
294
+ msgstr "显示主机"
295
+
296
+ #: inc/redux/WPML_Redux_Framework_config.php:292
297
+ msgid "Display host column in list."
298
+ msgstr "在列表中显示主机。"
299
+
300
+ #: inc/redux/WPML_Redux_Framework_config.php:304
301
+ msgid "Log Rotation"
302
+ msgstr "日志轮转"
303
+
304
+ #: inc/redux/WPML_Redux_Framework_config.php:305
305
+ msgid "Save space by deleting logs regularly."
306
+ msgstr "定期删除日志以节省空间。"
307
+
308
+ #: inc/redux/WPML_Redux_Framework_config.php:311
309
+ msgid "Cleanup by Amount"
310
+ msgstr "按数量清理"
311
+
312
+ #: inc/redux/WPML_Redux_Framework_config.php:312
313
+ #: inc/redux/WPML_Redux_Framework_config.php:334
314
+ msgid "Setup a automated cleanup routine!"
315
+ msgstr "设置自动清理"
316
+
317
+ #: inc/redux/WPML_Redux_Framework_config.php:321
318
+ msgid "Amount"
319
+ msgstr "数量"
320
+
321
+ #: inc/redux/WPML_Redux_Framework_config.php:322
322
+ #: inc/redux/WPML_Redux_Framework_config.php:344
323
+ msgid "When should mails are deleted?"
324
+ msgstr "邮件何时被删除?"
325
+
326
+ #: inc/redux/WPML_Redux_Framework_config.php:323
327
+ msgid "Cleanup when the stored mails exceed..."
328
+ msgstr "当存储的邮件超过上述数量时开始清理邮件..."
329
+
330
+ #: inc/redux/WPML_Redux_Framework_config.php:333
331
+ msgid "Cleanup by Time"
332
+ msgstr "按时间清理"
333
+
334
+ #: inc/redux/WPML_Redux_Framework_config.php:345
335
+ msgid "Delete mails older than days..."
336
+ msgstr "删除超过上述天数的邮件..."
337
+
338
+ #: inc/redux/WPML_Redux_Framework_config.php:510
339
+ msgid "Documentation"
340
+ msgstr "文档"
341
+
342
+ #: inc/redux/WPML_Redux_Framework_config.php:516
343
+ msgid "Support"
344
+ msgstr "支持"
345
+
346
+ #: inc/redux/WPML_Redux_Framework_config.php:522
347
+ msgid "Extensions"
348
+ msgstr "扩展"
349
+
350
+ #: wp-mail-logging.php:48
351
+ msgid ""
352
+ "Error: plugin \"WP Mail Logging\" requires a newer version of PHP to be "
353
+ "running."
354
+ msgstr "错误:插件“WP Mail Logging”需要运行较新版本的PHP。"
355
+
356
+ #: wp-mail-logging.php:49
357
+ msgid "Minimal version of PHP required: "
358
+ msgstr "PHP的最低版本要求:"
359
+
360
+ #: wp-mail-logging.php:50
361
+ msgid "Your server's PHP version: "
362
+ msgstr "您的服务器的PHP版本:"
363
+
364
+ #. Description of the plugin/theme
365
+ msgid "Logs each email sent by WordPress."
366
+ msgstr "记录WordPress发送的每封电子邮件。"
367
+
368
+ #: inc/class-wp-list-table.php:573
369
+ msgctxt "paging"
370
+ msgid "%1$s of %2$s"
371
+ msgstr "%1$s of %2$s"
languages/wp-mail-logging.pot CHANGED
@@ -1,371 +1,330 @@
1
- # Copyright (C) 2017 Christian Z&ouml;ller
2
- # This file is distributed under the GPLv3.
3
- msgid ""
4
- msgstr ""
5
- "Project-Id-Version: WP Mail Logging 1.8.0\n"
6
- "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
7
- "POT-Creation-Date: 2017-01-03 18:59:13+00:00\n"
8
- "MIME-Version: 1.0\n"
9
- "Content-Type: text/plain; charset=utf-8\n"
10
- "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
- "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
- "Language-Team: LANGUAGE <LL@li.org>\n"
14
- "X-Generator: grunt-wp-i18n 0.5.4\n"
15
- "Language: en_GB\n"
16
-
17
- #: WPML_Email_Log_List.php:59
18
- msgid "No email found."
19
- msgstr ""
20
-
21
- #: WPML_Email_Log_List.php:71
22
- msgid "ID"
23
- msgstr ""
24
-
25
- #: WPML_Email_Log_List.php:72 inc/redux/WPML_Redux_Framework_config.php:343
26
- msgid "Time"
27
- msgstr ""
28
-
29
- #: WPML_Email_Log_List.php:73
30
- msgid "Receiver"
31
- msgstr ""
32
-
33
- #: WPML_Email_Log_List.php:74
34
- msgid "Subject"
35
- msgstr ""
36
-
37
- #: WPML_Email_Log_List.php:75 WPML_OptionsManager.php:497
38
- msgid "Message"
39
- msgstr ""
40
-
41
- #: WPML_Email_Log_List.php:76
42
- msgid "Headers"
43
- msgstr ""
44
-
45
- #: WPML_Email_Log_List.php:77
46
- msgid "Attachments"
47
- msgstr ""
48
-
49
- #: WPML_Email_Log_List.php:78
50
- msgid "Error"
51
- msgstr ""
52
-
53
- #: WPML_Email_Log_List.php:79
54
- msgid "Plugin Version"
55
- msgstr ""
56
-
57
- #: WPML_Email_Log_List.php:90
58
- msgid "Host"
59
- msgstr ""
60
-
61
- #: WPML_Email_Log_List.php:267 WPML_Email_Log_List.php:301
62
- msgid "Attachment %s is not present"
63
- msgstr ""
64
-
65
- #: WPML_Email_Log_List.php:495
66
- msgid "Fallback to raw format because html is not convertible to json."
67
- msgstr ""
68
-
69
- #: WPML_LifeCycle.php:205
70
- msgid "Settings"
71
- msgstr ""
72
-
73
- #: WPML_OptionsManager.php:321 WPML_OptionsManager.php:322
74
- msgid "WP Mail Log"
75
- msgstr ""
76
-
77
- #: WPML_OptionsManager.php:333 WPML_OptionsManager.php:334
78
- #: WPML_OptionsManager.php:345
79
- msgid "About"
80
- msgstr ""
81
-
82
- #: WPML_OptionsManager.php:422
83
- msgid "About Plugin"
84
- msgstr ""
85
-
86
- #: WPML_OptionsManager.php:431
87
- msgid "More information"
88
- msgstr ""
89
-
90
- #: WPML_OptionsManager.php:432
91
- msgid "Plugin Homepage/support"
92
- msgstr ""
93
-
94
- #: WPML_OptionsManager.php:433
95
- msgid "Plugin author's blog"
96
- msgstr ""
97
-
98
- #: WPML_OptionsManager.php:440
99
- msgid "Entries per page"
100
- msgstr ""
101
-
102
- #: WPML_OptionsManager.php:462
103
- msgid "You do not have sufficient permissions to access this page."
104
- msgstr ""
105
-
106
- #: WPML_OptionsManager.php:471
107
- msgid "Log"
108
- msgstr ""
109
-
110
- #: WPML_OptionsManager.php:515
111
- msgid "Close"
112
- msgstr ""
113
-
114
- #: WPML_OptionsManager.php:529
115
- msgid "Search"
116
- msgstr ""
117
-
118
- #: WPML_OptionsManager.php:554
119
- msgid "true"
120
- msgstr ""
121
-
122
- #: WPML_OptionsManager.php:556
123
- msgid "false"
124
- msgstr ""
125
-
126
- #: WPML_OptionsManager.php:559
127
- msgid "Administrator"
128
- msgstr ""
129
-
130
- #: WPML_OptionsManager.php:561
131
- msgid "Editor"
132
- msgstr ""
133
-
134
- #: WPML_OptionsManager.php:563
135
- msgid "Author"
136
- msgstr ""
137
-
138
- #: WPML_OptionsManager.php:565
139
- msgid "Contributor"
140
- msgstr ""
141
-
142
- #: WPML_OptionsManager.php:567
143
- msgid "Subscriber"
144
- msgstr ""
145
-
146
- #: WPML_OptionsManager.php:569
147
- msgid "Anyone"
148
- msgstr ""
149
-
150
- #: inc/class-wp-list-table.php:191
151
- msgid "No items found."
152
- msgstr ""
153
-
154
- #: inc/class-wp-list-table.php:315
155
- msgid "Bulk Actions"
156
- msgstr ""
157
-
158
- #: inc/class-wp-list-table.php:325
159
- msgid "Apply"
160
- msgstr ""
161
-
162
- #: inc/class-wp-list-table.php:409
163
- msgid "Show all dates"
164
- msgstr ""
165
-
166
- #: inc/class-wp-list-table.php:422
167
- #. translators: 1: month name, 2: 4-digit year
168
- msgid "%1$s %2$d"
169
- msgstr ""
170
-
171
- #: inc/class-wp-list-table.php:438
172
- msgid "List View"
173
- msgstr ""
174
-
175
- #: inc/class-wp-list-table.php:439
176
- msgid "Excerpt View"
177
- msgstr ""
178
-
179
- #: inc/class-wp-list-table.php:465
180
- msgid "%s pending"
181
- msgstr ""
182
-
183
- #: inc/class-wp-list-table.php:533 inc/class-wp-list-table.php:948
184
- msgid "1 item"
185
- msgid_plural "%s items"
186
- msgstr[0] ""
187
- msgstr[1] ""
188
-
189
- #: inc/class-wp-list-table.php:551
190
- msgid "Go to the first page"
191
- msgstr ""
192
-
193
- #: inc/class-wp-list-table.php:558
194
- msgid "Go to the previous page"
195
- msgstr ""
196
-
197
- #: inc/class-wp-list-table.php:567
198
- msgid "Current page"
199
- msgstr ""
200
-
201
- #: inc/class-wp-list-table.php:577
202
- msgid "Go to the next page"
203
- msgstr ""
204
-
205
- #: inc/class-wp-list-table.php:584
206
- msgid "Go to the last page"
207
- msgstr ""
208
-
209
- #: inc/class-wp-list-table.php:720
210
- msgid "Select All"
211
- msgstr ""
212
-
213
- #: inc/redux/WPML_Redux_Framework_config.php:194
214
- msgid "Customize &#8220;%s&#8221;"
215
- msgstr ""
216
-
217
- #: inc/redux/WPML_Redux_Framework_config.php:203
218
- #: inc/redux/WPML_Redux_Framework_config.php:207
219
- msgid "Current theme preview"
220
- msgstr ""
221
-
222
- #: inc/redux/WPML_Redux_Framework_config.php:214
223
- msgid "By %s"
224
- msgstr ""
225
-
226
- #: inc/redux/WPML_Redux_Framework_config.php:215
227
- msgid "Version %s"
228
- msgstr ""
229
-
230
- #: inc/redux/WPML_Redux_Framework_config.php:216
231
- msgid "Tags"
232
- msgstr ""
233
-
234
- #: inc/redux/WPML_Redux_Framework_config.php:221
235
- msgid "This <a href=\"%1$s\">child theme</a> requires its parent theme, %2$s."
236
- msgstr ""
237
-
238
- #: inc/redux/WPML_Redux_Framework_config.php:221
239
- msgid "http://codex.wordpress.org/Child_Themes"
240
- msgstr ""
241
-
242
- #: inc/redux/WPML_Redux_Framework_config.php:244
243
- msgid "General Settings"
244
- msgstr ""
245
-
246
- #: inc/redux/WPML_Redux_Framework_config.php:253
247
- msgid "Cleanup"
248
- msgstr ""
249
-
250
- #: inc/redux/WPML_Redux_Framework_config.php:254
251
- msgid "Delete all data on deactivation? (emails and settings)?"
252
- msgstr ""
253
-
254
- #: inc/redux/WPML_Redux_Framework_config.php:264
255
- msgid "Can See Submission data"
256
- msgstr ""
257
-
258
- #: inc/redux/WPML_Redux_Framework_config.php:265
259
- msgid "Select the minimum role."
260
- msgstr ""
261
-
262
- #: inc/redux/WPML_Redux_Framework_config.php:270
263
- msgid "WordPress Date Time Format"
264
- msgstr ""
265
-
266
- #: inc/redux/WPML_Redux_Framework_config.php:271
267
- msgid "Use format from WordPress settings (%s)"
268
- msgstr ""
269
-
270
- #: inc/redux/WPML_Redux_Framework_config.php:273
271
- #: inc/redux/WPML_Redux_Framework_config.php:298
272
- #: inc/redux/WPML_Redux_Framework_config.php:314
273
- #: inc/redux/WPML_Redux_Framework_config.php:336
274
- msgid "Enabled"
275
- msgstr ""
276
-
277
- #: inc/redux/WPML_Redux_Framework_config.php:274
278
- #: inc/redux/WPML_Redux_Framework_config.php:299
279
- #: inc/redux/WPML_Redux_Framework_config.php:315
280
- #: inc/redux/WPML_Redux_Framework_config.php:337
281
- msgid "Disabled"
282
- msgstr ""
283
-
284
- #: inc/redux/WPML_Redux_Framework_config.php:285
285
- msgid "Default Format for Message"
286
- msgstr ""
287
-
288
- #: inc/redux/WPML_Redux_Framework_config.php:286
289
- msgid "Select your preferred display format."
290
- msgstr ""
291
-
292
- #: inc/redux/WPML_Redux_Framework_config.php:291
293
- msgid "Display Host"
294
- msgstr ""
295
-
296
- #: inc/redux/WPML_Redux_Framework_config.php:292
297
- msgid "Display host column in list."
298
- msgstr ""
299
-
300
- #: inc/redux/WPML_Redux_Framework_config.php:304
301
- msgid "Log Rotation"
302
- msgstr ""
303
-
304
- #: inc/redux/WPML_Redux_Framework_config.php:305
305
- msgid "Save space by deleting logs regularly."
306
- msgstr ""
307
-
308
- #: inc/redux/WPML_Redux_Framework_config.php:311
309
- msgid "Cleanup by Amount"
310
- msgstr ""
311
-
312
- #: inc/redux/WPML_Redux_Framework_config.php:312
313
- #: inc/redux/WPML_Redux_Framework_config.php:334
314
- msgid "Setup a automated cleanup routine!"
315
- msgstr ""
316
-
317
- #: inc/redux/WPML_Redux_Framework_config.php:321
318
- msgid "Amount"
319
- msgstr ""
320
-
321
- #: inc/redux/WPML_Redux_Framework_config.php:322
322
- #: inc/redux/WPML_Redux_Framework_config.php:344
323
- msgid "When should mails are deleted?"
324
- msgstr ""
325
-
326
- #: inc/redux/WPML_Redux_Framework_config.php:323
327
- msgid "Cleanup when the stored mails exceed..."
328
- msgstr ""
329
-
330
- #: inc/redux/WPML_Redux_Framework_config.php:333
331
- msgid "Cleanup by Time"
332
- msgstr ""
333
-
334
- #: inc/redux/WPML_Redux_Framework_config.php:345
335
- msgid "Delete mails older than days..."
336
- msgstr ""
337
-
338
- #: inc/redux/WPML_Redux_Framework_config.php:510
339
- msgid "Documentation"
340
- msgstr ""
341
-
342
- #: inc/redux/WPML_Redux_Framework_config.php:516
343
- msgid "Support"
344
- msgstr ""
345
-
346
- #: inc/redux/WPML_Redux_Framework_config.php:522
347
- msgid "Extensions"
348
- msgstr ""
349
-
350
- #: wp-mail-logging.php:48
351
- msgid ""
352
- "Error: plugin \"WP Mail Logging\" requires a newer version of PHP to be "
353
- "running."
354
- msgstr ""
355
-
356
- #: wp-mail-logging.php:49
357
- msgid "Minimal version of PHP required: "
358
- msgstr ""
359
-
360
- #: wp-mail-logging.php:50
361
- msgid "Your server's PHP version: "
362
- msgstr ""
363
-
364
- #. Description of the plugin/theme
365
- msgid "Logs each email sent by WordPress."
366
- msgstr ""
367
-
368
- #: inc/class-wp-list-table.php:573
369
- msgctxt "paging"
370
- msgid "%1$s of %2$s"
371
  msgstr ""
1
+ # Copyright (C) 2018 Christian Z&ouml;ller
2
+ # This file is distributed under the GPLv3.
3
+ msgid ""
4
+ msgstr ""
5
+ "Project-Id-Version: WP Mail Logging 1.8.4\n"
6
+ "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/wp-mail-logging\n"
7
+ "POT-Creation-Date: 2018-06-22 15:35:01+00:00\n"
8
+ "MIME-Version: 1.0\n"
9
+ "Content-Type: text/plain; charset=utf-8\n"
10
+ "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2018-MO-DA HO:MI+ZONE\n"
12
+ "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
+ "Language-Team: LANGUAGE <LL@li.org>\n"
14
+ "X-Generator: grunt-wp-i18n 0.5.4\n"
15
+ "Language: en_GB\n"
16
+
17
+ #: WPML_Email_Log_List.php:65
18
+ msgid "No email found."
19
+ msgstr ""
20
+
21
+ #: WPML_Email_Log_List.php:77
22
+ msgid "ID"
23
+ msgstr ""
24
+
25
+ #: WPML_Email_Log_List.php:78 inc/redux/WPML_Redux_Framework_config.php:191
26
+ msgid "Time"
27
+ msgstr ""
28
+
29
+ #: WPML_Email_Log_List.php:79
30
+ msgid "Receiver"
31
+ msgstr ""
32
+
33
+ #: WPML_Email_Log_List.php:80
34
+ msgid "Subject"
35
+ msgstr ""
36
+
37
+ #: WPML_Email_Log_List.php:81 WPML_OptionsManager.php:497
38
+ msgid "Message"
39
+ msgstr ""
40
+
41
+ #: WPML_Email_Log_List.php:82
42
+ msgid "Headers"
43
+ msgstr ""
44
+
45
+ #: WPML_Email_Log_List.php:83
46
+ msgid "Attachments"
47
+ msgstr ""
48
+
49
+ #: WPML_Email_Log_List.php:84
50
+ msgid "Error"
51
+ msgstr ""
52
+
53
+ #: WPML_Email_Log_List.php:85
54
+ msgid "Plugin Version"
55
+ msgstr ""
56
+
57
+ #: WPML_Email_Log_List.php:96
58
+ msgid "Host"
59
+ msgstr ""
60
+
61
+ #: WPML_Email_Log_List.php:267 WPML_Email_Log_List.php:301
62
+ msgid "Attachment %s is not present"
63
+ msgstr ""
64
+
65
+ #: WPML_Email_Log_List.php:495
66
+ msgid "Fallback to raw format because html is not convertible to json."
67
+ msgstr ""
68
+
69
+ #: WPML_LifeCycle.php:205
70
+ msgid "Settings"
71
+ msgstr ""
72
+
73
+ #: WPML_OptionsManager.php:321 WPML_OptionsManager.php:322
74
+ msgid "WP Mail Log"
75
+ msgstr ""
76
+
77
+ #: WPML_OptionsManager.php:333 WPML_OptionsManager.php:334
78
+ #: WPML_OptionsManager.php:345
79
+ msgid "About"
80
+ msgstr ""
81
+
82
+ #: WPML_OptionsManager.php:422
83
+ msgid "About Plugin"
84
+ msgstr ""
85
+
86
+ #: WPML_OptionsManager.php:431
87
+ msgid "More information"
88
+ msgstr ""
89
+
90
+ #: WPML_OptionsManager.php:432
91
+ msgid "Plugin Homepage/support"
92
+ msgstr ""
93
+
94
+ #: WPML_OptionsManager.php:433
95
+ msgid "Plugin author's blog"
96
+ msgstr ""
97
+
98
+ #: WPML_OptionsManager.php:440
99
+ msgid "Entries per page"
100
+ msgstr ""
101
+
102
+ #: WPML_OptionsManager.php:462
103
+ msgid "You do not have sufficient permissions to access this page."
104
+ msgstr ""
105
+
106
+ #: WPML_OptionsManager.php:471
107
+ msgid "Log"
108
+ msgstr ""
109
+
110
+ #: WPML_OptionsManager.php:515
111
+ msgid "Close"
112
+ msgstr ""
113
+
114
+ #: WPML_OptionsManager.php:529
115
+ msgid "Search"
116
+ msgstr ""
117
+
118
+ #: WPML_OptionsManager.php:554
119
+ msgid "true"
120
+ msgstr ""
121
+
122
+ #: WPML_OptionsManager.php:556
123
+ msgid "false"
124
+ msgstr ""
125
+
126
+ #: WPML_OptionsManager.php:559
127
+ msgid "Administrator"
128
+ msgstr ""
129
+
130
+ #: WPML_OptionsManager.php:561
131
+ msgid "Editor"
132
+ msgstr ""
133
+
134
+ #: WPML_OptionsManager.php:563
135
+ msgid "Author"
136
+ msgstr ""
137
+
138
+ #: WPML_OptionsManager.php:565
139
+ msgid "Contributor"
140
+ msgstr ""
141
+
142
+ #: WPML_OptionsManager.php:567
143
+ msgid "Subscriber"
144
+ msgstr ""
145
+
146
+ #: WPML_OptionsManager.php:569
147
+ msgid "Anyone"
148
+ msgstr ""
149
+
150
+ #: inc/class-wp-list-table.php:191
151
+ msgid "No items found."
152
+ msgstr ""
153
+
154
+ #: inc/class-wp-list-table.php:315
155
+ msgid "Bulk Actions"
156
+ msgstr ""
157
+
158
+ #: inc/class-wp-list-table.php:325
159
+ msgid "Apply"
160
+ msgstr ""
161
+
162
+ #: inc/class-wp-list-table.php:409
163
+ msgid "Show all dates"
164
+ msgstr ""
165
+
166
+ #: inc/class-wp-list-table.php:422
167
+ #. translators: 1: month name, 2: 4-digit year
168
+ msgid "%1$s %2$d"
169
+ msgstr ""
170
+
171
+ #: inc/class-wp-list-table.php:438
172
+ msgid "List View"
173
+ msgstr ""
174
+
175
+ #: inc/class-wp-list-table.php:439
176
+ msgid "Excerpt View"
177
+ msgstr ""
178
+
179
+ #: inc/class-wp-list-table.php:465
180
+ msgid "%s pending"
181
+ msgstr ""
182
+
183
+ #: inc/class-wp-list-table.php:533 inc/class-wp-list-table.php:948
184
+ msgid "1 item"
185
+ msgid_plural "%s items"
186
+ msgstr[0] ""
187
+ msgstr[1] ""
188
+
189
+ #: inc/class-wp-list-table.php:551
190
+ msgid "Go to the first page"
191
+ msgstr ""
192
+
193
+ #: inc/class-wp-list-table.php:558
194
+ msgid "Go to the previous page"
195
+ msgstr ""
196
+
197
+ #: inc/class-wp-list-table.php:567
198
+ msgid "Current page"
199
+ msgstr ""
200
+
201
+ #: inc/class-wp-list-table.php:577
202
+ msgid "Go to the next page"
203
+ msgstr ""
204
+
205
+ #: inc/class-wp-list-table.php:584
206
+ msgid "Go to the last page"
207
+ msgstr ""
208
+
209
+ #: inc/class-wp-list-table.php:720
210
+ msgid "Select All"
211
+ msgstr ""
212
+
213
+ #: inc/redux/WPML_Redux_Framework_config.php:92
214
+ msgid "General Settings"
215
+ msgstr ""
216
+
217
+ #: inc/redux/WPML_Redux_Framework_config.php:101
218
+ msgid "Cleanup"
219
+ msgstr ""
220
+
221
+ #: inc/redux/WPML_Redux_Framework_config.php:102
222
+ msgid "Delete all data on deactivation? (emails and settings)?"
223
+ msgstr ""
224
+
225
+ #: inc/redux/WPML_Redux_Framework_config.php:112
226
+ msgid "Can See Submission data"
227
+ msgstr ""
228
+
229
+ #: inc/redux/WPML_Redux_Framework_config.php:113
230
+ msgid "Select the minimum role."
231
+ msgstr ""
232
+
233
+ #: inc/redux/WPML_Redux_Framework_config.php:118
234
+ msgid "WordPress Date Time Format"
235
+ msgstr ""
236
+
237
+ #: inc/redux/WPML_Redux_Framework_config.php:119
238
+ msgid "Use format from WordPress settings (%s)"
239
+ msgstr ""
240
+
241
+ #: inc/redux/WPML_Redux_Framework_config.php:121
242
+ #: inc/redux/WPML_Redux_Framework_config.php:146
243
+ #: inc/redux/WPML_Redux_Framework_config.php:162
244
+ #: inc/redux/WPML_Redux_Framework_config.php:184
245
+ msgid "Enabled"
246
+ msgstr ""
247
+
248
+ #: inc/redux/WPML_Redux_Framework_config.php:122
249
+ #: inc/redux/WPML_Redux_Framework_config.php:147
250
+ #: inc/redux/WPML_Redux_Framework_config.php:163
251
+ #: inc/redux/WPML_Redux_Framework_config.php:185
252
+ msgid "Disabled"
253
+ msgstr ""
254
+
255
+ #: inc/redux/WPML_Redux_Framework_config.php:133
256
+ msgid "Default Format for Message"
257
+ msgstr ""
258
+
259
+ #: inc/redux/WPML_Redux_Framework_config.php:134
260
+ msgid "Select your preferred display format."
261
+ msgstr ""
262
+
263
+ #: inc/redux/WPML_Redux_Framework_config.php:139
264
+ msgid "Display Host"
265
+ msgstr ""
266
+
267
+ #: inc/redux/WPML_Redux_Framework_config.php:140
268
+ msgid "Display host column in list."
269
+ msgstr ""
270
+
271
+ #: inc/redux/WPML_Redux_Framework_config.php:152
272
+ msgid "Log Rotation"
273
+ msgstr ""
274
+
275
+ #: inc/redux/WPML_Redux_Framework_config.php:153
276
+ msgid "Save space by deleting logs regularly."
277
+ msgstr ""
278
+
279
+ #: inc/redux/WPML_Redux_Framework_config.php:159
280
+ msgid "Cleanup by Amount"
281
+ msgstr ""
282
+
283
+ #: inc/redux/WPML_Redux_Framework_config.php:160
284
+ #: inc/redux/WPML_Redux_Framework_config.php:182
285
+ msgid "Setup a automated cleanup routine!"
286
+ msgstr ""
287
+
288
+ #: inc/redux/WPML_Redux_Framework_config.php:169
289
+ msgid "Amount"
290
+ msgstr ""
291
+
292
+ #: inc/redux/WPML_Redux_Framework_config.php:170
293
+ #: inc/redux/WPML_Redux_Framework_config.php:192
294
+ msgid "When should mails are deleted?"
295
+ msgstr ""
296
+
297
+ #: inc/redux/WPML_Redux_Framework_config.php:171
298
+ msgid "Cleanup when the stored mails exceed..."
299
+ msgstr ""
300
+
301
+ #: inc/redux/WPML_Redux_Framework_config.php:181
302
+ msgid "Cleanup by Time"
303
+ msgstr ""
304
+
305
+ #: inc/redux/WPML_Redux_Framework_config.php:193
306
+ msgid "Delete mails older than days..."
307
+ msgstr ""
308
+
309
+ #: wp-mail-logging.php:48
310
+ msgid ""
311
+ "Error: plugin \"WP Mail Logging\" requires a newer version of PHP to be "
312
+ "running."
313
+ msgstr ""
314
+
315
+ #: wp-mail-logging.php:49
316
+ msgid "Minimal version of PHP required: "
317
+ msgstr ""
318
+
319
+ #: wp-mail-logging.php:50
320
+ msgid "Your server's PHP version: "
321
+ msgstr ""
322
+
323
+ #. Description of the plugin/theme
324
+ msgid "Logs each email sent by WordPress."
325
+ msgstr ""
326
+
327
+ #: inc/class-wp-list-table.php:573
328
+ msgctxt "paging"
329
+ msgid "%1$s of %2$s"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
330
  msgstr ""
lib/vendor/redux-framework/inc/welcome/welcome.php CHANGED
@@ -1,568 +1,570 @@
1
- <?php
2
- if ( ! defined( 'ABSPATH' ) ) {
3
- exit;
4
- }
5
-
6
-
7
- class Redux_Welcome {
8
-
9
- /**
10
- * @var string The capability users should have to view the page
11
- */
12
- public $minimum_capability = 'manage_options';
13
- public $display_version = "";
14
- public $redux_loaded = false;
15
-
16
- /**
17
- * Get things started
18
- *
19
- * @since 1.4
20
- */
21
- public function __construct() {
22
-
23
- add_action( 'redux/loaded', array( $this, 'init' ) );
24
-
25
- add_action( 'wp_ajax_redux_support_hash', array( $this, 'support_hash' ) );
26
-
27
- }
28
-
29
- public function init() {
30
-
31
- if ( $this->redux_loaded ) {
32
- return;
33
- }
34
- $this->redux_loaded = true;
35
- add_action( 'admin_menu', array( $this, 'admin_menus' ) );
36
-
37
- if ( isset( $_GET['page'] ) ) {
38
- if ( substr( $_GET['page'], 0, 6 ) == "redux-" ) {
39
- $version = explode( '.', ReduxFramework::$_version );
40
- $this->display_version = $version[0] . '.' . $version[1];
41
- add_filter( 'admin_footer_text', array( $this, 'change_wp_footer' ) );
42
- add_action( 'admin_head', array( $this, 'admin_head' ) );
43
- } else {
44
- $this->check_version();
45
- }
46
- } else {
47
- $this->check_version();
48
- }
49
- update_option( 'redux_version_upgraded_from', ReduxFramework::$_version );
50
- set_transient( '_redux_activation_redirect', true, 30 );
51
-
52
- }
53
-
54
-
55
- public function check_version() {
56
- global $pagenow;
57
-
58
- if ( $pagenow == "admin-ajax.php" || ( $GLOBALS['pagenow'] == "customize" && isset( $_GET['theme'] ) && ! empty( $_GET['theme'] ) ) ) {
59
- return;
60
- }
61
-
62
- $saveVer = Redux_Helpers::major_version( get_option( 'redux_version_upgraded_from' ) );
63
- $curVer = Redux_Helpers::major_version( ReduxFramework::$_version );
64
- $compare = false;
65
-
66
- if ( Redux_Helpers::isLocalHost() ) {
67
- $compare = true;
68
- } else if ( class_exists( 'ReduxFrameworkPlugin' ) ) {
69
- $compare = true;
70
- } else {
71
- $redux = ReduxFrameworkInstances::get_all_instances();
72
-
73
- if ( is_array( $redux ) ) {
74
- foreach ( $redux as $panel ) {
75
- if ( $panel->args['dev_mode'] == 1 ) {
76
- $compare = true;
77
- break;
78
- }
79
- }
80
- }
81
- }
82
-
83
- if ( $compare ) {
84
- $redirect = false;
85
- if ( empty( $saveVer ) ) {
86
- $redirect = true; // First time
87
- }
88
- // Removing redirect except for the first time with the plugin installed. :) Less annoying until we actually use this page.
89
- //else if ( version_compare( $curVer, $saveVer, '>' ) ) {
90
- // $redirect = true; // Previous version
91
- //}
92
- if ( $redirect && ! defined( 'WP_TESTS_DOMAIN' ) && ReduxFramework::$_as_plugin ) {
93
- add_action( 'init', array( $this, 'do_redirect' ) );
94
- }
95
- }
96
- }
97
-
98
- public function do_redirect() {
99
- if ( ! defined( 'WP_CLI' ) ) {
100
- wp_redirect( admin_url( 'tools.php?page=redux-about' ) );
101
- exit();
102
- }
103
- }
104
-
105
- public function change_wp_footer() {
106
- echo __( 'If you like <strong>Redux</strong> please leave us a <a href="https://wordpress.org/support/view/plugin-reviews/redux-framework?filter=5#postform" target="_blank" class="redux-rating-link" data-rated="Thanks :)">&#9733;&#9733;&#9733;&#9733;&#9733;</a> rating. A huge thank you from Redux in advance!', 'redux-framework' );
107
- }
108
-
109
- public function support_hash() {
110
-
111
- if ( ! wp_verify_nonce( $_POST['nonce'], 'redux-support-hash' ) ) {
112
- die();
113
- }
114
-
115
- $data = get_option( 'redux_support_hash' );
116
- $data = wp_parse_args( $data, array( 'check' => '', 'identifier' => '' ) );
117
- $generate_hash = true;
118
- $system_info = Redux_Helpers::compileSystemStatus();
119
- $newHash = md5( json_encode( $system_info ) );
120
- $return = array();
121
- if ( $newHash == $data['check'] ) {
122
- unset( $generate_hash );
123
- }
124
-
125
- $post_data = array(
126
- 'hash' => md5( network_site_url() . '-' . $_SERVER['REMOTE_ADDR'] ),
127
- 'site' => esc_url( home_url( '/' ) ),
128
- 'tracking' => Redux_Helpers::getTrackingObject(),
129
- 'system_status' => $system_info,
130
- );
131
- //$post_data = json_encode( $post_data );
132
- $post_data = serialize( $post_data );
133
-
134
- if ( isset( $generate_hash ) && $generate_hash ) {
135
-
136
- $data['check'] = $newHash;
137
- $data['identifier'] = "";
138
- $response = wp_remote_post( 'http://support.redux.io/v1/', array(
139
- 'method' => 'POST',
140
- 'timeout' => 65,
141
- 'redirection' => 5,
142
- 'httpversion' => '1.0',
143
- 'blocking' => true,
144
- 'compress' => true,
145
- 'headers' => array(),
146
- 'body' => array(
147
- 'data' => $post_data,
148
- 'serialize' => 1
149
- )
150
- )
151
- );
152
-
153
- if ( is_wp_error( $response ) ) {
154
- echo json_encode( array(
155
- 'status' => 'error',
156
- 'message' => $response->get_error_message()
157
- ) );
158
- die( 1 );
159
- } else {
160
- $response_code = wp_remote_retrieve_response_code( $response );
161
- if ( $response_code == 200 ) {
162
- $response = wp_remote_retrieve_body( $response );
163
- $return = json_decode( $response, true );
164
- if ( isset( $return['identifier'] ) ) {
165
- $data['identifier'] = $return['identifier'];
166
- update_option( 'redux_support_hash', $data );
167
- }
168
- } else {
169
- $response = wp_remote_retrieve_body( $response );
170
- echo json_encode( array(
171
- 'status' => 'error',
172
- 'message' => $response
173
- ) );
174
- }
175
- }
176
- }
177
-
178
- if ( ! empty( $data['identifier'] ) ) {
179
- $return['status'] = "success";
180
- $return['identifier'] = $data['identifier'];
181
- } else {
182
- $return['status'] = "error";
183
- $return['message'] = esc_html__( "Support hash could not be generated. Please try again later.", 'redux-framework' );
184
- }
185
-
186
- echo json_encode( $return );
187
-
188
- die( 1 );
189
- }
190
-
191
- /**
192
- * Register the Dashboard Pages which are later hidden but these pages
193
- * are used to render the Welcome and Credits pages.
194
- *
195
- * @access public
196
- * @since 1.4
197
- * @return void
198
- */
199
- public function admin_menus() {
200
-
201
- $page = 'add_management_page';
202
-
203
- // About Page
204
- $page(
205
- esc_html__( 'Welcome to Redux Framework', 'redux-framework' ), esc_html__( 'Redux Framework', 'redux-framework' ), $this->minimum_capability, 'redux-about', array(
206
- $this,
207
- 'about_screen'
208
- )
209
- );
210
-
211
- // Changelog Page
212
- $page(
213
- esc_html__( 'Redux Framework Changelog', 'redux-framework' ), esc_html__( 'Redux Framework Changelog', 'redux-framework' ), $this->minimum_capability, 'redux-changelog', array(
214
- $this,
215
- 'changelog_screen'
216
- )
217
- );
218
-
219
- // Support Page
220
- $page(
221
- esc_html__( 'Get Support', 'redux-framework' ), esc_html__( 'Get Support', 'redux-framework' ), $this->minimum_capability, 'redux-support', array(
222
- $this,
223
- 'get_support'
224
- )
225
- );
226
-
227
- // Support Page
228
- $page(
229
- esc_html__( 'Redux Extensions', 'redux-framework' ), esc_html__( 'Redux Extensions', 'redux-framework' ), $this->minimum_capability, 'redux-extensions', array(
230
- $this,
231
- 'redux_extensions'
232
- )
233
- );
234
-
235
-
236
- // Credits Page
237
- $page(
238
- esc_html__( 'The people that develop Redux Framework', 'redux-framework' ), esc_html__( 'The people that develop Redux Framework', 'redux-framework' ), $this->minimum_capability, 'redux-credits', array(
239
- $this,
240
- 'credits_screen'
241
- )
242
- );
243
-
244
- // Status Page
245
- $page(
246
- esc_html__( 'Redux Framework Status', 'redux-framework' ), esc_html__( 'Redux Framework Status', 'redux-framework' ), $this->minimum_capability, 'redux-status', array(
247
- $this,
248
- 'status_screen'
249
- )
250
- );
251
-
252
- //remove_submenu_page( 'tools.php', 'redux-about' );
253
- remove_submenu_page( 'tools.php', 'redux-status' );
254
- remove_submenu_page( 'tools.php', 'redux-changelog' );
255
- remove_submenu_page( 'tools.php', 'redux-getting-started' );
256
- remove_submenu_page( 'tools.php', 'redux-credits' );
257
- remove_submenu_page( 'tools.php', 'redux-support' );
258
- remove_submenu_page( 'tools.php', 'redux-extensions' );
259
-
260
-
261
- }
262
-
263
- /**
264
- * Hide Individual Dashboard Pages
265
- *
266
- * @access public
267
- * @since 1.4
268
- * @return void
269
- */
270
- public function admin_head() {
271
-
272
- // Badge for welcome page
273
- //$badge_url = ReduxFramework::$_url . 'assets/images/redux-badge.png';
274
- ?>
275
-
276
- <script
277
- id="redux-qtip-js"
278
- src='<?php echo esc_url( ReduxFramework::$_url ); ?>assets/js/vendor/qtip/jquery.qtip.js'>
279
- </script>
280
-
281
- <script
282
- id="redux-welcome-admin-js"
283
- src='<?php echo esc_url( ReduxFramework::$_url ) ?>inc/welcome/js/redux-welcome-admin.js'>
284
- </script>
285
-
286
- <?php
287
- if ( isset ( $_GET['page'] ) && $_GET['page'] == "redux-support" ) :
288
- ?>
289
- <script
290
- id="jquery-easing"
291
- src='<?php echo esc_url( ReduxFramework::$_url ); ?>inc/welcome/js/jquery.easing.min.js'>
292
- </script>
293
- <?php endif; ?>
294
-
295
- <link rel='stylesheet' id='redux-qtip-css'
296
- href='<?php echo esc_url( ReduxFramework::$_url ); ?>assets/css/vendor/qtip/jquery.qtip.css'
297
- type='text/css' media='all'/>
298
-
299
- <link rel='stylesheet' id='elusive-icons'
300
- href='<?php echo esc_url( ReduxFramework::$_url ); ?>assets/css/vendor/elusive-icons/elusive-icons.css'
301
- type='text/css' media='all'/>
302
-
303
- <link rel='stylesheet' id='redux-welcome-css'
304
- href='<?php echo esc_url( ReduxFramework::$_url ); ?>inc/welcome/css/redux-welcome.css'
305
- type='text/css' media='all'/>
306
- <style type="text/css">
307
- .redux-badge:before {
308
- <?php echo is_rtl() ? 'right' : 'left'; ?> : 0;
309
- }
310
-
311
- .about-wrap .redux-badge {
312
- <?php echo is_rtl() ? 'left' : 'right'; ?> : 0;
313
- }
314
-
315
- .about-wrap .feature-rest div {
316
- padding- <?php echo is_rtl() ? 'left' : 'right'; ?>: 100px;
317
- }
318
-
319
- .about-wrap .feature-rest div.last-feature {
320
- padding- <?php echo is_rtl() ? 'right' : 'left'; ?>: 100px;
321
- padding- <?php echo is_rtl() ? 'left' : 'right'; ?>: 0;
322
- }
323
-
324
- .about-wrap .feature-rest div.icon:before {
325
- margin: <?php echo is_rtl() ? '0 -100px 0 0' : '0 0 0 -100px'; ?>;
326
- }
327
- </style>
328
- <?php
329
- }
330
-
331
- /**
332
- * Navigation tabs
333
- *
334
- * @access public
335
- * @since 1.9
336
- * @return void
337
- */
338
- public function tabs() {
339
- $selected = isset ( $_GET['page'] ) ? esc_attr( $_GET['page'] ) : 'redux-about';
340
- $nonce = wp_create_nonce( 'redux-support-hash' );
341
- ?>
342
- <input type="hidden" id="redux_support_nonce" value="<?php echo esc_attr( $nonce ); ?>"/>
343
- <h2 class="nav-tab-wrapper">
344
- <a class="nav-tab <?php echo $selected == 'redux-about' ? 'nav-tab-active' : ''; ?>"
345
- href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-about' ), 'tools.php' ) ) ); ?>">
346
- <?php esc_attr_e( "What's New", 'redux-framework' ); ?>
347
- </a> <a class="nav-tab <?php echo $selected == 'redux-extensions' ? 'nav-tab-active' : ''; ?>"
348
- href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-extensions' ), 'tools.php' ) ) ); ?>">
349
- <?php esc_attr_e( 'Extensions', 'redux-framework' ); ?>
350
- </a> <a class="nav-tab <?php echo $selected == 'redux-changelog' ? 'nav-tab-active' : ''; ?>"
351
- href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-changelog' ), 'tools.php' ) ) ); ?>">
352
- <?php esc_attr_e( 'Changelog', 'redux-framework' ); ?>
353
- </a> <a class="nav-tab <?php echo $selected == 'redux-credits' ? 'nav-tab-active' : ''; ?>"
354
- href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-credits' ), 'tools.php' ) ) ); ?>">
355
- <?php _e( 'Credits', 'redux-framework' ); ?>
356
- </a> <a class="nav-tab <?php echo $selected == 'redux-support' ? 'nav-tab-active' : ''; ?>"
357
- href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-support' ), 'tools.php' ) ) ); ?>">
358
- <?php esc_attr_e( 'Support', 'redux-framework' ); ?>
359
- </a> <a class="nav-tab <?php echo $selected == 'redux-status' ? 'nav-tab-active' : ''; ?>"
360
- href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-status' ), 'tools.php' ) ) ); ?>">
361
- <?php esc_attr_e( 'Status', 'redux-framework' ); ?>
362
- </a>
363
- </h2>
364
- <?php
365
- }
366
-
367
- /**
368
- * Render About Screen
369
- *
370
- * @access public
371
- * @since 1.4
372
- * @return void
373
- */
374
- public function about_screen() {
375
- // Stupid hack for Wordpress alerts and warnings
376
- echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
377
-
378
- require_once 'views/about.php';
379
-
380
- }
381
-
382
- /**
383
- * Render Changelog Screen
384
- *
385
- * @access public
386
- * @since 2.0.3
387
- * @return void
388
- */
389
- public function changelog_screen() {
390
- // Stupid hack for Wordpress alerts and warnings
391
- echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
392
-
393
- require_once 'views/changelog.php';
394
-
395
- }
396
-
397
- /**
398
- * Render Changelog Screen
399
- *
400
- * @access public
401
- * @since 2.0.3
402
- * @return void
403
- */
404
- public function redux_extensions() {
405
- // Stupid hack for Wordpress alerts and warnings
406
- echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
407
-
408
- require_once 'views/extensions.php';
409
-
410
- }
411
-
412
-
413
- /**
414
- * Render Get Support Screen
415
- *
416
- * @access public
417
- * @since 1.9
418
- * @return void
419
- */
420
- public function get_support() {
421
- // Stupid hack for Wordpress alerts and warnings
422
- echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
423
-
424
- require_once 'views/support.php';
425
-
426
- }
427
-
428
- /**
429
- * Render Credits Screen
430
- *
431
- * @access public
432
- * @since 1.4
433
- * @return void
434
- */
435
- public function credits_screen() {
436
- // Stupid hack for Wordpress alerts and warnings
437
- echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
438
-
439
- require_once 'views/credits.php';
440
-
441
- }
442
-
443
- /**
444
- * Render Status Report Screen
445
- *
446
- * @access public
447
- * @since 1.4
448
- * @return void
449
- */
450
- public function status_screen() {
451
- // Stupid hack for Wordpress alerts and warnings
452
- echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
453
-
454
- require_once 'views/status_report.php';
455
-
456
- }
457
-
458
- /**
459
- * Parse the Redux readme.txt file
460
- *
461
- * @since 2.0.3
462
- * @return string $readme HTML formatted readme file
463
- */
464
- public function parse_readme() {
465
- if ( file_exists( ReduxFramework::$_dir . 'inc/fields/raw/parsedown.php' ) ) {
466
- require_once ReduxFramework::$_dir . 'inc/fields/raw/parsedown.php';
467
- $Parsedown = new Parsedown();
468
- $data = @wp_remote_get( ReduxFramework::$_url . '../CHANGELOG.md' );
469
- if ( isset( $data ) && ! empty( $data ) ) {
470
- $data = @wp_remote_retrieve_body( $data );
471
- return $Parsedown->text( trim( str_replace( '# Redux Framework Changelog', '', $data ) ) );
472
- }
473
- }
474
-
475
- return '<script src="' . 'http://gist-it.appspot.com/https://github.com/reduxframework/redux-framework/blob/master/CHANGELOG.md?slice=2:0&footer=0">// <![CDATA[// ]]></script>';
476
-
477
- }
478
-
479
- public function actions() {
480
- ?>
481
- <p class="redux-actions">
482
- <a href="http://docs.reduxframework.com/" class="docs button button-primary">Docs</a>
483
- <a href="http://wordpress.org/plugins/redux-framework/" class="review-us button button-primary"
484
- target="_blank">Review Us</a>
485
- <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MMFMHWUPKHKPW"
486
- class="review-us button button-primary" target="_blank">Donate</a>
487
- <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://reduxframework.com"
488
- data-text="Reduce your dev time! Redux is the most powerful option framework for WordPress on the web"
489
- data-via="ReduxFramework" data-size="large" data-hashtags="Redux">Tweet</a>
490
- <script>!function( d, s, id ) {
491
- var js, fjs = d.getElementsByTagName( s )[0], p = /^http:/.test( d.location ) ? 'http' : 'https';
492
- if ( !d.getElementById( id ) ) {
493
- js = d.createElement( s );
494
- js.id = id;
495
- js.src = p + '://platform.twitter.com/widgets.js';
496
- fjs.parentNode.insertBefore( js, fjs );
497
- }
498
- }( document, 'script', 'twitter-wjs' );</script>
499
- </p>
500
- <?php
501
- }
502
-
503
- /**
504
- * Render Contributors List
505
- *
506
- * @since 1.4
507
- * @uses Redux_Welcome::get_contributors()
508
- * @return string $contributor_list HTML formatted list of all the contributors for Redux
509
- */
510
- public function contributors() {
511
- $contributors = $this->get_contributors();
512
-
513
- if ( empty ( $contributors ) ) {
514
- return '';
515
- }
516
-
517
- $contributor_list = '<ul class="wp-people-group">';
518
-
519
- foreach ( $contributors as $contributor ) {
520
- $contributor_list .= '<li class="wp-person">';
521
- $contributor_list .= sprintf( '<a href="%s" title="%s" target="_blank">', esc_url( 'https://github.com/' . $contributor->login ), esc_html( sprintf( __( 'View %s', 'redux-framework' ), esc_html( $contributor->login ) ) )
522
- );
523
- $contributor_list .= sprintf( '<img src="%s" width="64" height="64" class="gravatar" alt="%s" />', esc_url( $contributor->avatar_url ), esc_html( $contributor->login ) );
524
- $contributor_list .= '</a>';
525
- $contributor_list .= sprintf( '<a class="web" href="%s" target="_blank">%s</a>', esc_url( 'https://github.com/' . $contributor->login ), esc_html( $contributor->login ) );
526
- $contributor_list .= '</a>';
527
- $contributor_list .= '</li>';
528
- }
529
-
530
- $contributor_list .= '</ul>';
531
-
532
- return $contributor_list;
533
- }
534
-
535
- /**
536
- * Retreive list of contributors from GitHub.
537
- *
538
- * @access public
539
- * @since 1.4
540
- * @return array $contributors List of contributors
541
- */
542
- public function get_contributors() {
543
- $contributors = get_transient( 'redux_contributors' );
544
-
545
- if ( false !== $contributors ) {
546
- return $contributors;
547
- }
548
-
549
- $response = wp_remote_get( 'https://api.github.com/repos/ReduxFramework/redux-framework/contributors', array( 'sslverify' => false ) );
550
-
551
- if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
552
- return array();
553
- }
554
-
555
- $contributors = json_decode( wp_remote_retrieve_body( $response ) );
556
-
557
- if ( ! is_array( $contributors ) ) {
558
- return array();
559
- }
560
-
561
- set_transient( 'redux_contributors', $contributors, 3600 );
562
-
563
- return $contributors;
564
- }
565
- }
566
-
567
- new Redux_Welcome();
568
-
 
 
1
+ <?php
2
+ if ( ! defined( 'ABSPATH' ) ) {
3
+ exit;
4
+ }
5
+
6
+
7
+ class Redux_Welcome {
8
+
9
+ /**
10
+ * @var string The capability users should have to view the page
11
+ */
12
+ public $minimum_capability = 'manage_options';
13
+ public $display_version = "";
14
+ public $redux_loaded = false;
15
+
16
+ /**
17
+ * Get things started
18
+ *
19
+ * @since 1.4
20
+ */
21
+ public function __construct() {
22
+
23
+ add_action( 'redux/loaded', array( $this, 'init' ) );
24
+
25
+ add_action( 'wp_ajax_redux_support_hash', array( $this, 'support_hash' ) );
26
+
27
+ }
28
+
29
+ public function init() {
30
+
31
+ if ( $this->redux_loaded ) {
32
+ return;
33
+ }
34
+ $this->redux_loaded = true;
35
+ add_action( 'admin_menu', array( $this, 'admin_menus' ) );
36
+
37
+ if ( isset( $_GET['page'] ) ) {
38
+ if ( substr( $_GET['page'], 0, 6 ) == "redux-" ) {
39
+ $version = explode( '.', ReduxFramework::$_version );
40
+ $this->display_version = $version[0] . '.' . $version[1];
41
+ add_filter( 'admin_footer_text', array( $this, 'change_wp_footer' ) );
42
+ add_action( 'admin_head', array( $this, 'admin_head' ) );
43
+ } else {
44
+ $this->check_version();
45
+ }
46
+ } else {
47
+ $this->check_version();
48
+ }
49
+ update_option( 'redux_version_upgraded_from', ReduxFramework::$_version );
50
+ /* WPML Patch: gh-73. This line is removed in the master and I assume it will
51
+ * also be in the next release when I do an update of this redux files:
52
+ * set_transient( '_redux_activation_redirect', true, 30 );
53
+ */
54
+ }
55
+
56
+
57
+ public function check_version() {
58
+ global $pagenow;
59
+
60
+ if ( $pagenow == "admin-ajax.php" || ( $GLOBALS['pagenow'] == "customize" && isset( $_GET['theme'] ) && ! empty( $_GET['theme'] ) ) ) {
61
+ return;
62
+ }
63
+
64
+ $saveVer = Redux_Helpers::major_version( get_option( 'redux_version_upgraded_from' ) );
65
+ $curVer = Redux_Helpers::major_version( ReduxFramework::$_version );
66
+ $compare = false;
67
+
68
+ if ( Redux_Helpers::isLocalHost() ) {
69
+ $compare = true;
70
+ } else if ( class_exists( 'ReduxFrameworkPlugin' ) ) {
71
+ $compare = true;
72
+ } else {
73
+ $redux = ReduxFrameworkInstances::get_all_instances();
74
+
75
+ if ( is_array( $redux ) ) {
76
+ foreach ( $redux as $panel ) {
77
+ if ( $panel->args['dev_mode'] == 1 ) {
78
+ $compare = true;
79
+ break;
80
+ }
81
+ }
82
+ }
83
+ }
84
+
85
+ if ( $compare ) {
86
+ $redirect = false;
87
+ if ( empty( $saveVer ) ) {
88
+ $redirect = true; // First time
89
+ }
90
+ // Removing redirect except for the first time with the plugin installed. :) Less annoying until we actually use this page.
91
+ //else if ( version_compare( $curVer, $saveVer, '>' ) ) {
92
+ // $redirect = true; // Previous version
93
+ //}
94
+ if ( $redirect && ! defined( 'WP_TESTS_DOMAIN' ) && ReduxFramework::$_as_plugin ) {
95
+ add_action( 'init', array( $this, 'do_redirect' ) );
96
+ }
97
+ }
98
+ }
99
+
100
+ public function do_redirect() {
101
+ if ( ! defined( 'WP_CLI' ) ) {
102
+ wp_redirect( admin_url( 'tools.php?page=redux-about' ) );
103
+ exit();
104
+ }
105
+ }
106
+
107
+ public function change_wp_footer() {
108
+ echo __( 'If you like <strong>Redux</strong> please leave us a <a href="https://wordpress.org/support/view/plugin-reviews/redux-framework?filter=5#postform" target="_blank" class="redux-rating-link" data-rated="Thanks :)">&#9733;&#9733;&#9733;&#9733;&#9733;</a> rating. A huge thank you from Redux in advance!', 'redux-framework' );
109
+ }
110
+
111
+ public function support_hash() {
112
+
113
+ if ( ! wp_verify_nonce( $_POST['nonce'], 'redux-support-hash' ) ) {
114
+ die();
115
+ }
116
+
117
+ $data = get_option( 'redux_support_hash' );
118
+ $data = wp_parse_args( $data, array( 'check' => '', 'identifier' => '' ) );
119
+ $generate_hash = true;
120
+ $system_info = Redux_Helpers::compileSystemStatus();
121
+ $newHash = md5( json_encode( $system_info ) );
122
+ $return = array();
123
+ if ( $newHash == $data['check'] ) {
124
+ unset( $generate_hash );
125
+ }
126
+
127
+ $post_data = array(
128
+ 'hash' => md5( network_site_url() . '-' . $_SERVER['REMOTE_ADDR'] ),
129
+ 'site' => esc_url( home_url( '/' ) ),
130
+ 'tracking' => Redux_Helpers::getTrackingObject(),
131
+ 'system_status' => $system_info,
132
+ );
133
+ //$post_data = json_encode( $post_data );
134
+ $post_data = serialize( $post_data );
135
+
136
+ if ( isset( $generate_hash ) && $generate_hash ) {
137
+
138
+ $data['check'] = $newHash;
139
+ $data['identifier'] = "";
140
+ $response = wp_remote_post( 'http://support.redux.io/v1/', array(
141
+ 'method' => 'POST',
142
+ 'timeout' => 65,
143
+ 'redirection' => 5,
144
+ 'httpversion' => '1.0',
145
+ 'blocking' => true,
146
+ 'compress' => true,
147
+ 'headers' => array(),
148
+ 'body' => array(
149
+ 'data' => $post_data,
150
+ 'serialize' => 1
151
+ )
152
+ )
153
+ );
154
+
155
+ if ( is_wp_error( $response ) ) {
156
+ echo json_encode( array(
157
+ 'status' => 'error',
158
+ 'message' => $response->get_error_message()
159
+ ) );
160
+ die( 1 );
161
+ } else {
162
+ $response_code = wp_remote_retrieve_response_code( $response );
163
+ if ( $response_code == 200 ) {
164
+ $response = wp_remote_retrieve_body( $response );
165
+ $return = json_decode( $response, true );
166
+ if ( isset( $return['identifier'] ) ) {
167
+ $data['identifier'] = $return['identifier'];
168
+ update_option( 'redux_support_hash', $data );
169
+ }
170
+ } else {
171
+ $response = wp_remote_retrieve_body( $response );
172
+ echo json_encode( array(
173
+ 'status' => 'error',
174
+ 'message' => $response
175
+ ) );
176
+ }
177
+ }
178
+ }
179
+
180
+ if ( ! empty( $data['identifier'] ) ) {
181
+ $return['status'] = "success";
182
+ $return['identifier'] = $data['identifier'];
183
+ } else {
184
+ $return['status'] = "error";
185
+ $return['message'] = esc_html__( "Support hash could not be generated. Please try again later.", 'redux-framework' );
186
+ }
187
+
188
+ echo json_encode( $return );
189
+
190
+ die( 1 );
191
+ }
192
+
193
+ /**
194
+ * Register the Dashboard Pages which are later hidden but these pages
195
+ * are used to render the Welcome and Credits pages.
196
+ *
197
+ * @access public
198
+ * @since 1.4
199
+ * @return void
200
+ */
201
+ public function admin_menus() {
202
+
203
+ $page = 'add_management_page';
204
+
205
+ // About Page
206
+ $page(
207
+ esc_html__( 'Welcome to Redux Framework', 'redux-framework' ), esc_html__( 'Redux Framework', 'redux-framework' ), $this->minimum_capability, 'redux-about', array(
208
+ $this,
209
+ 'about_screen'
210
+ )
211
+ );
212
+
213
+ // Changelog Page
214
+ $page(
215
+ esc_html__( 'Redux Framework Changelog', 'redux-framework' ), esc_html__( 'Redux Framework Changelog', 'redux-framework' ), $this->minimum_capability, 'redux-changelog', array(
216
+ $this,
217
+ 'changelog_screen'
218
+ )
219
+ );
220
+
221
+ // Support Page
222
+ $page(
223
+ esc_html__( 'Get Support', 'redux-framework' ), esc_html__( 'Get Support', 'redux-framework' ), $this->minimum_capability, 'redux-support', array(
224
+ $this,
225
+ 'get_support'
226
+ )
227
+ );
228
+
229
+ // Support Page
230
+ $page(
231
+ esc_html__( 'Redux Extensions', 'redux-framework' ), esc_html__( 'Redux Extensions', 'redux-framework' ), $this->minimum_capability, 'redux-extensions', array(
232
+ $this,
233
+ 'redux_extensions'
234
+ )
235
+ );
236
+
237
+
238
+ // Credits Page
239
+ $page(
240
+ esc_html__( 'The people that develop Redux Framework', 'redux-framework' ), esc_html__( 'The people that develop Redux Framework', 'redux-framework' ), $this->minimum_capability, 'redux-credits', array(
241
+ $this,
242
+ 'credits_screen'
243
+ )
244
+ );
245
+
246
+ // Status Page
247
+ $page(
248
+ esc_html__( 'Redux Framework Status', 'redux-framework' ), esc_html__( 'Redux Framework Status', 'redux-framework' ), $this->minimum_capability, 'redux-status', array(
249
+ $this,
250
+ 'status_screen'
251
+ )
252
+ );
253
+
254
+ //remove_submenu_page( 'tools.php', 'redux-about' );
255
+ remove_submenu_page( 'tools.php', 'redux-status' );
256
+ remove_submenu_page( 'tools.php', 'redux-changelog' );
257
+ remove_submenu_page( 'tools.php', 'redux-getting-started' );
258
+ remove_submenu_page( 'tools.php', 'redux-credits' );
259
+ remove_submenu_page( 'tools.php', 'redux-support' );
260
+ remove_submenu_page( 'tools.php', 'redux-extensions' );
261
+
262
+
263
+ }
264
+
265
+ /**
266
+ * Hide Individual Dashboard Pages
267
+ *
268
+ * @access public
269
+ * @since 1.4
270
+ * @return void
271
+ */
272
+ public function admin_head() {
273
+
274
+ // Badge for welcome page
275
+ //$badge_url = ReduxFramework::$_url . 'assets/images/redux-badge.png';
276
+ ?>
277
+
278
+ <script
279
+ id="redux-qtip-js"
280
+ src='<?php echo esc_url( ReduxFramework::$_url ); ?>assets/js/vendor/qtip/jquery.qtip.js'>
281
+ </script>
282
+
283
+ <script
284
+ id="redux-welcome-admin-js"
285
+ src='<?php echo esc_url( ReduxFramework::$_url ) ?>inc/welcome/js/redux-welcome-admin.js'>
286
+ </script>
287
+
288
+ <?php
289
+ if ( isset ( $_GET['page'] ) && $_GET['page'] == "redux-support" ) :
290
+ ?>
291
+ <script
292
+ id="jquery-easing"
293
+ src='<?php echo esc_url( ReduxFramework::$_url ); ?>inc/welcome/js/jquery.easing.min.js'>
294
+ </script>
295
+ <?php endif; ?>
296
+
297
+ <link rel='stylesheet' id='redux-qtip-css'
298
+ href='<?php echo esc_url( ReduxFramework::$_url ); ?>assets/css/vendor/qtip/jquery.qtip.css'
299
+ type='text/css' media='all'/>
300
+
301
+ <link rel='stylesheet' id='elusive-icons'
302
+ href='<?php echo esc_url( ReduxFramework::$_url ); ?>assets/css/vendor/elusive-icons/elusive-icons.css'
303
+ type='text/css' media='all'/>
304
+
305
+ <link rel='stylesheet' id='redux-welcome-css'
306
+ href='<?php echo esc_url( ReduxFramework::$_url ); ?>inc/welcome/css/redux-welcome.css'
307
+ type='text/css' media='all'/>
308
+ <style type="text/css">
309
+ .redux-badge:before {
310
+ <?php echo is_rtl() ? 'right' : 'left'; ?> : 0;
311
+ }
312
+
313
+ .about-wrap .redux-badge {
314
+ <?php echo is_rtl() ? 'left' : 'right'; ?> : 0;
315
+ }
316
+
317
+ .about-wrap .feature-rest div {
318
+ padding- <?php echo is_rtl() ? 'left' : 'right'; ?>: 100px;
319
+ }
320
+
321
+ .about-wrap .feature-rest div.last-feature {
322
+ padding- <?php echo is_rtl() ? 'right' : 'left'; ?>: 100px;
323
+ padding- <?php echo is_rtl() ? 'left' : 'right'; ?>: 0;
324
+ }
325
+
326
+ .about-wrap .feature-rest div.icon:before {
327
+ margin: <?php echo is_rtl() ? '0 -100px 0 0' : '0 0 0 -100px'; ?>;
328
+ }
329
+ </style>
330
+ <?php
331
+ }
332
+
333
+ /**
334
+ * Navigation tabs
335
+ *
336
+ * @access public
337
+ * @since 1.9
338
+ * @return void
339
+ */
340
+ public function tabs() {
341
+ $selected = isset ( $_GET['page'] ) ? esc_attr( $_GET['page'] ) : 'redux-about';
342
+ $nonce = wp_create_nonce( 'redux-support-hash' );
343
+ ?>
344
+ <input type="hidden" id="redux_support_nonce" value="<?php echo esc_attr( $nonce ); ?>"/>
345
+ <h2 class="nav-tab-wrapper">
346
+ <a class="nav-tab <?php echo $selected == 'redux-about' ? 'nav-tab-active' : ''; ?>"
347
+ href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-about' ), 'tools.php' ) ) ); ?>">
348
+ <?php esc_attr_e( "What's New", 'redux-framework' ); ?>
349
+ </a> <a class="nav-tab <?php echo $selected == 'redux-extensions' ? 'nav-tab-active' : ''; ?>"
350
+ href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-extensions' ), 'tools.php' ) ) ); ?>">
351
+ <?php esc_attr_e( 'Extensions', 'redux-framework' ); ?>
352
+ </a> <a class="nav-tab <?php echo $selected == 'redux-changelog' ? 'nav-tab-active' : ''; ?>"
353
+ href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-changelog' ), 'tools.php' ) ) ); ?>">
354
+ <?php esc_attr_e( 'Changelog', 'redux-framework' ); ?>
355
+ </a> <a class="nav-tab <?php echo $selected == 'redux-credits' ? 'nav-tab-active' : ''; ?>"
356
+ href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-credits' ), 'tools.php' ) ) ); ?>">
357
+ <?php _e( 'Credits', 'redux-framework' ); ?>
358
+ </a> <a class="nav-tab <?php echo $selected == 'redux-support' ? 'nav-tab-active' : ''; ?>"
359
+ href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-support' ), 'tools.php' ) ) ); ?>">
360
+ <?php esc_attr_e( 'Support', 'redux-framework' ); ?>
361
+ </a> <a class="nav-tab <?php echo $selected == 'redux-status' ? 'nav-tab-active' : ''; ?>"
362
+ href="<?php echo esc_url( admin_url( add_query_arg( array( 'page' => 'redux-status' ), 'tools.php' ) ) ); ?>">
363
+ <?php esc_attr_e( 'Status', 'redux-framework' ); ?>
364
+ </a>
365
+ </h2>
366
+ <?php
367
+ }
368
+
369
+ /**
370
+ * Render About Screen
371
+ *
372
+ * @access public
373
+ * @since 1.4
374
+ * @return void
375
+ */
376
+ public function about_screen() {
377
+ // Stupid hack for Wordpress alerts and warnings
378
+ echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
379
+
380
+ require_once 'views/about.php';
381
+
382
+ }
383
+
384
+ /**
385
+ * Render Changelog Screen
386
+ *
387
+ * @access public
388
+ * @since 2.0.3
389
+ * @return void
390
+ */
391
+ public function changelog_screen() {
392
+ // Stupid hack for Wordpress alerts and warnings
393
+ echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
394
+
395
+ require_once 'views/changelog.php';
396
+
397
+ }
398
+
399
+ /**
400
+ * Render Changelog Screen
401
+ *
402
+ * @access public
403
+ * @since 2.0.3
404
+ * @return void
405
+ */
406
+ public function redux_extensions() {
407
+ // Stupid hack for Wordpress alerts and warnings
408
+ echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
409
+
410
+ require_once 'views/extensions.php';
411
+
412
+ }
413
+
414
+
415
+ /**
416
+ * Render Get Support Screen
417
+ *
418
+ * @access public
419
+ * @since 1.9
420
+ * @return void
421
+ */
422
+ public function get_support() {
423
+ // Stupid hack for Wordpress alerts and warnings
424
+ echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
425
+
426
+ require_once 'views/support.php';
427
+
428
+ }
429
+
430
+ /**
431
+ * Render Credits Screen
432
+ *
433
+ * @access public
434
+ * @since 1.4
435
+ * @return void
436
+ */
437
+ public function credits_screen() {
438
+ // Stupid hack for Wordpress alerts and warnings
439
+ echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
440
+
441
+ require_once 'views/credits.php';
442
+
443
+ }
444
+
445
+ /**
446
+ * Render Status Report Screen
447
+ *
448
+ * @access public
449
+ * @since 1.4
450
+ * @return void
451
+ */
452
+ public function status_screen() {
453
+ // Stupid hack for Wordpress alerts and warnings
454
+ echo '<div class="wrap" style="height:0;overflow:hidden;"><h2></h2></div>';
455
+
456
+ require_once 'views/status_report.php';
457
+
458
+ }
459
+
460
+ /**
461
+ * Parse the Redux readme.txt file
462
+ *
463
+ * @since 2.0.3
464
+ * @return string $readme HTML formatted readme file
465
+ */
466
+ public function parse_readme() {
467
+ if ( file_exists( ReduxFramework::$_dir . 'inc/fields/raw/parsedown.php' ) ) {
468
+ require_once ReduxFramework::$_dir . 'inc/fields/raw/parsedown.php';
469
+ $Parsedown = new Parsedown();
470
+ $data = @wp_remote_get( ReduxFramework::$_url . '../CHANGELOG.md' );
471
+ if ( isset( $data ) && ! empty( $data ) ) {
472
+ $data = @wp_remote_retrieve_body( $data );
473
+ return $Parsedown->text( trim( str_replace( '# Redux Framework Changelog', '', $data ) ) );
474
+ }
475
+ }
476
+
477
+ return '<script src="' . 'http://gist-it.appspot.com/https://github.com/reduxframework/redux-framework/blob/master/CHANGELOG.md?slice=2:0&footer=0">// <![CDATA[// ]]></script>';
478
+
479
+ }
480
+
481
+ public function actions() {
482
+ ?>
483
+ <p class="redux-actions">
484
+ <a href="http://docs.reduxframework.com/" class="docs button button-primary">Docs</a>
485
+ <a href="http://wordpress.org/plugins/redux-framework/" class="review-us button button-primary"
486
+ target="_blank">Review Us</a>
487
+ <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=MMFMHWUPKHKPW"
488
+ class="review-us button button-primary" target="_blank">Donate</a>
489
+ <a href="https://twitter.com/share" class="twitter-share-button" data-url="http://reduxframework.com"
490
+ data-text="Reduce your dev time! Redux is the most powerful option framework for WordPress on the web"
491
+ data-via="ReduxFramework" data-size="large" data-hashtags="Redux">Tweet</a>
492
+ <script>!function( d, s, id ) {
493
+ var js, fjs = d.getElementsByTagName( s )[0], p = /^http:/.test( d.location ) ? 'http' : 'https';
494
+ if ( !d.getElementById( id ) ) {
495
+ js = d.createElement( s );
496
+ js.id = id;
497
+ js.src = p + '://platform.twitter.com/widgets.js';
498
+ fjs.parentNode.insertBefore( js, fjs );
499
+ }
500
+ }( document, 'script', 'twitter-wjs' );</script>
501
+ </p>
502
+ <?php
503
+ }
504
+
505
+ /**
506
+ * Render Contributors List
507
+ *
508
+ * @since 1.4
509
+ * @uses Redux_Welcome::get_contributors()
510
+ * @return string $contributor_list HTML formatted list of all the contributors for Redux
511
+ */
512
+ public function contributors() {
513
+ $contributors = $this->get_contributors();
514
+
515
+ if ( empty ( $contributors ) ) {
516
+ return '';
517
+ }
518
+
519
+ $contributor_list = '<ul class="wp-people-group">';
520
+
521
+ foreach ( $contributors as $contributor ) {
522
+ $contributor_list .= '<li class="wp-person">';
523
+ $contributor_list .= sprintf( '<a href="%s" title="%s" target="_blank">', esc_url( 'https://github.com/' . $contributor->login ), esc_html( sprintf( __( 'View %s', 'redux-framework' ), esc_html( $contributor->login ) ) )
524
+ );
525
+ $contributor_list .= sprintf( '<img src="%s" width="64" height="64" class="gravatar" alt="%s" />', esc_url( $contributor->avatar_url ), esc_html( $contributor->login ) );
526
+ $contributor_list .= '</a>';
527
+ $contributor_list .= sprintf( '<a class="web" href="%s" target="_blank">%s</a>', esc_url( 'https://github.com/' . $contributor->login ), esc_html( $contributor->login ) );
528
+ $contributor_list .= '</a>';
529
+ $contributor_list .= '</li>';
530
+ }
531
+
532
+ $contributor_list .= '</ul>';
533
+
534
+ return $contributor_list;
535
+ }
536
+
537
+ /**
538
+ * Retreive list of contributors from GitHub.
539
+ *
540
+ * @access public
541
+ * @since 1.4
542
+ * @return array $contributors List of contributors
543
+ */
544
+ public function get_contributors() {
545
+ $contributors = get_transient( 'redux_contributors' );
546
+
547
+ if ( false !== $contributors ) {
548
+ return $contributors;
549
+ }
550
+
551
+ $response = wp_remote_get( 'https://api.github.com/repos/ReduxFramework/redux-framework/contributors', array( 'sslverify' => false ) );
552
+
553
+ if ( is_wp_error( $response ) || 200 != wp_remote_retrieve_response_code( $response ) ) {
554
+ return array();
555
+ }
556
+
557
+ $contributors = json_decode( wp_remote_retrieve_body( $response ) );
558
+
559
+ if ( ! is_array( $contributors ) ) {
560
+ return array();
561
+ }
562
+
563
+ set_transient( 'redux_contributors', $contributors, 3600 );
564
+
565
+ return $contributors;
566
+ }
567
+ }
568
+
569
+ new Redux_Welcome();
570
+
readme.txt CHANGED
@@ -1,139 +1,144 @@
1
- === WP Mail Logging ===
2
- Contributors: No3x, tripflex
3
- Donate link: http://no3x.de/web/donate
4
- Tags: mail, email, log, logging, debug, list, store, collect, view
5
- License: GPLv3
6
- License URI: http://www.gnu.org/licenses/gpl-3.0.html
7
- Requires at least: 3.0
8
- Tested up to: 4.8.3
9
- Stable tag: 1.8.3
10
-
11
- Logs each email sent by WordPress.
12
-
13
- == Description ==
14
-
15
- Logs each email sent by WordPress. This can be useful if you don't want to lose such mail contents. It can also be useful for debugging purposes while development.
16
-
17
- Features of the plugin include:
18
-
19
- * Complete list of sent mails - view and search through the mails.
20
- * Error status from mail implementation is logged
21
- * Zero-configuration - just install and enjoy.
22
- * Log rotation - decide which emails you want to keep.
23
- * DevOP: IP of server sent the mail
24
- * Developer: Boost your development performance by keeping track of sent mails.
25
- * Developer: Filters are provided to extend the columns.
26
-
27
- [youtube https://www.youtube.com/watch?v=mQK6VPSV2-E]
28
-
29
- **Follow this plugin on [GitHub](https://github.com/No3x/wp-mail-logging)**
30
-
31
- **If you find an issue, let us know in the [Tracker](https://github.com/No3x/wp-mail-logging/issues?state=open)**
32
-
33
- **Provide feedback and suggestions on [enhancements](https://github.com/No3x/wp-mail-logging/issues?direction=desc&labels=Enhancement%2Cenhancement&page=1&sort=created&state=open)**
34
-
35
- == Installation ==
36
- Just install and activate wp-mail-logging. The plugin will do the work for you! You can list all logged mails on the plugin site.
37
- I recommend the following plugins if you want to send mails via SMTP because they are technically well integrated into WordPress and provide error messages on failure.:
38
- - [WP Mail SMTP](https://de.wordpress.org/plugins/wp-mail-smtp/)
39
- - [SMTP Mailer](https://de.wordpress.org/plugins/smtp-mailer/)
40
-
41
- == Frequently Asked Questions ==
42
- = How do I know the mail was sent? =
43
- If there is no error logged chances are high the mail was sent. There are plugins that overwrite (do not customize) the default mailing mechanism of WordPress - they maybe do not inform about failure so it can't be logged by WP Mail Logging.
44
- = How do I know the wail was delivered? =
45
- The logged email has been sent by WordPress but please note this does NOT mean it has been delivered. With the given functionality of WordPress you can't determine if a mail was delivered successfully.
46
-
47
- == Screenshots ==
48
- 1. The List
49
- 2. The Detail View
50
- 3. The Settings
51
-
52
- == Upgrade Notice ==
53
- = 1.8.3 =
54
- - Fix: security bug
55
-
56
- == Changelog ==
57
-
58
- = 1.8.3, November 10, 2017 =
59
- - Fix: another security bug
60
-
61
- = 1.8.2, November 7, 2017 =
62
- - Fix: security bug
63
-
64
- = 1.8.1, June 8, 2017 =
65
- - Fix: Resending mails uses proper headers now
66
- - Fix: Translation: Text domain
67
- - Fix: Prevent error if mail to set error on was not found
68
-
69
- = 1.8.0, February 15, 2017 =
70
- - New: Error status from mail implementation is logged
71
- - New: Resend mail
72
- - New: Added translation files
73
- - New: Added translation for de_DE and zh_CN
74
- - Fix: raw mode of message renders attachments as text
75
- - Fix: fallback to raw mode for json mode if mail is containing html
76
- - Tweak: Pretty print json
77
-
78
- = 1.7.0, November 6, 2016 =
79
- - New: logging host IP
80
- - Fix: passing search term for pagination
81
- - Tweak: close modal with ESC
82
-
83
- = 1.6.2, August 7, 2016 =
84
- - Fix: search mails
85
-
86
- = 1.6.1, August 1, 2016 =
87
- - Fix: delete mails
88
-
89
- = 1.6.0, July 31, 2016 =
90
- - New: Improved modal, added view types
91
- - Tweak: Proper date if none set in WordPress settings
92
- - Tweak: Updated libraries
93
- - Tweak: Added wp_mail hook to very last priority
94
-
95
- = 1.5.1, October 11, 2015 =
96
- - Tweak: Fixed security issues
97
-
98
- = 1.5.0, June 4, 2015 =
99
- - New: Setting for date time format
100
- - Tweak: Removed admin bar menu
101
- - Fix: repetitive cron schedule
102
-
103
- = 1.4.2, April 4, 2015 =
104
- - Tweak: Library updated - settings load speed improved.
105
-
106
- = 1.4.1, March 28, 2015 =
107
- - Fix: Restrict submission data works now.
108
- - Fix: Granularity of cleanup by time slider changed to 7.
109
-
110
- = 1.4.0, December 22, 2014 =
111
- - New: Log Rotation
112
- - New: Search
113
- - Tweak: Settings
114
- - Fix: international characters are supported now
115
- - Fix: Mandrill support
116
-
117
- = 1.3.2, September 21, 2014 =
118
- - Fix: HTML mails broken in previous version.
119
-
120
- = 1.3.1, September 12, 2014 =
121
- - Fix: angle brackets notation support (e.g. John Doe <john.doe@example.org>).
122
-
123
- = 1.3, August 24, 2014 =
124
- - New: clean mail listing including:
125
- Modal window for mail details.
126
- Attachment support with appropriate icon for mime type.
127
- - Tweak: Performance improvement
128
- - Fix: screen option for mails per page
129
-
130
- = 1.2, August 12, 2014 =
131
- - New: video
132
- - Tweak: Improved help & stability
133
- - Fix: deletion of mails regardless of options (on update to 1.2 your mails will be deleted hopefully this happens for the last time)
134
-
135
- = 1.1 =
136
- - Tweak: Modified readme.
137
-
138
- = 1.0 =
139
- - Initial Revision
 
 
 
 
 
1
+ === WP Mail Logging ===
2
+ Contributors: No3x, tripflex
3
+ Donate link: http://no3x.de/web/donate
4
+ Tags: mail, email, log, logging, debug, list, store, collect, view
5
+ License: GPLv3
6
+ License URI: http://www.gnu.org/licenses/gpl-3.0.html
7
+ Requires at least: 3.0
8
+ Tested up to: 4.9.6
9
+ Stable tag: 1.8.4
10
+
11
+ Logs each email sent by WordPress.
12
+
13
+ == Description ==
14
+
15
+ Logs each email sent by WordPress. This can be useful if you don't want to lose such mail contents. It can also be useful for debugging purposes while development.
16
+
17
+ Features of the plugin include:
18
+
19
+ * Complete list of sent mails - view and search through the mails.
20
+ * Error status from mail implementation is logged
21
+ * Zero-configuration - just install and enjoy.
22
+ * Log rotation - decide which emails you want to keep.
23
+ * DevOP: IP of server sent the mail
24
+ * Developer: Boost your development performance by keeping track of sent mails.
25
+ * Developer: Filters are provided to extend the columns.
26
+
27
+ [youtube https://www.youtube.com/watch?v=mQK6VPSV2-E]
28
+
29
+ **Follow this plugin on [GitHub](https://github.com/No3x/wp-mail-logging)**
30
+
31
+ **If you find an issue, let us know in the [Tracker](https://github.com/No3x/wp-mail-logging/issues?state=open)**
32
+
33
+ **Provide feedback and suggestions on [enhancements](https://github.com/No3x/wp-mail-logging/issues?direction=desc&labels=Enhancement%2Cenhancement&page=1&sort=created&state=open)**
34
+
35
+ == Installation ==
36
+ Just install and activate wp-mail-logging. The plugin will do the work for you! You can list all logged mails on the plugin site.
37
+ I recommend the following plugins if you want to send mails via SMTP because they are technically well integrated into WordPress and provide error messages on failure.:
38
+ - [WP Mail SMTP](https://de.wordpress.org/plugins/wp-mail-smtp/)
39
+ - [SMTP Mailer](https://de.wordpress.org/plugins/smtp-mailer/)
40
+
41
+ == Frequently Asked Questions ==
42
+ = How do I know the mail was sent? =
43
+ If there is no error logged chances are high the mail was sent. There are plugins that overwrite (do not customize) the default mailing mechanism of WordPress - they maybe do not inform about failure so it can't be logged by WP Mail Logging.
44
+ = How do I know the wail was delivered? =
45
+ The logged email has been sent by WordPress but please note this does NOT mean it has been delivered. With the given functionality of WordPress you can't determine if a mail was delivered successfully.
46
+
47
+ == Screenshots ==
48
+ 1. The List
49
+ 2. The Detail View
50
+ 3. The Settings
51
+
52
+ == Upgrade Notice ==
53
+ = 1.8.4 =
54
+ - Fix: transient bug
55
+ - Fix: notice when attachments not set
56
+
57
+ == Changelog ==
58
+
59
+ = 1.8.4, June 22, 2018 =
60
+ - Fix: transient bug
61
+ - Fix: notice when attachments not set
62
+
63
+ = 1.8.3, November 10, 2017 =
64
+ - Fix: another security bug
65
+
66
+ = 1.8.2, November 7, 2017 =
67
+ - Fix: security bug
68
+
69
+ = 1.8.1, June 8, 2017 =
70
+ - Fix: Resending mails uses proper headers now
71
+ - Fix: Translation: Text domain
72
+ - Fix: Prevent error if mail to set error on was not found
73
+
74
+ = 1.8.0, February 15, 2017 =
75
+ - New: Error status from mail implementation is logged
76
+ - New: Resend mail
77
+ - New: Added translation files
78
+ - New: Added translation for de_DE and zh_CN
79
+ - Fix: raw mode of message renders attachments as text
80
+ - Fix: fallback to raw mode for json mode if mail is containing html
81
+ - Tweak: Pretty print json
82
+
83
+ = 1.7.0, November 6, 2016 =
84
+ - New: logging host IP
85
+ - Fix: passing search term for pagination
86
+ - Tweak: close modal with ESC
87
+
88
+ = 1.6.2, August 7, 2016 =
89
+ - Fix: search mails
90
+
91
+ = 1.6.1, August 1, 2016 =
92
+ - Fix: delete mails
93
+
94
+ = 1.6.0, July 31, 2016 =
95
+ - New: Improved modal, added view types
96
+ - Tweak: Proper date if none set in WordPress settings
97
+ - Tweak: Updated libraries
98
+ - Tweak: Added wp_mail hook to very last priority
99
+
100
+ = 1.5.1, October 11, 2015 =
101
+ - Tweak: Fixed security issues
102
+
103
+ = 1.5.0, June 4, 2015 =
104
+ - New: Setting for date time format
105
+ - Tweak: Removed admin bar menu
106
+ - Fix: repetitive cron schedule
107
+
108
+ = 1.4.2, April 4, 2015 =
109
+ - Tweak: Library updated - settings load speed improved.
110
+
111
+ = 1.4.1, March 28, 2015 =
112
+ - Fix: Restrict submission data works now.
113
+ - Fix: Granularity of cleanup by time slider changed to 7.
114
+
115
+ = 1.4.0, December 22, 2014 =
116
+ - New: Log Rotation
117
+ - New: Search
118
+ - Tweak: Settings
119
+ - Fix: international characters are supported now
120
+ - Fix: Mandrill support
121
+
122
+ = 1.3.2, September 21, 2014 =
123
+ - Fix: HTML mails broken in previous version.
124
+
125
+ = 1.3.1, September 12, 2014 =
126
+ - Fix: angle brackets notation support (e.g. John Doe <john.doe@example.org>).
127
+
128
+ = 1.3, August 24, 2014 =
129
+ - New: clean mail listing including:
130
+ Modal window for mail details.
131
+ Attachment support with appropriate icon for mime type.
132
+ - Tweak: Performance improvement
133
+ - Fix: screen option for mails per page
134
+
135
+ = 1.2, August 12, 2014 =
136
+ - New: video
137
+ - Tweak: Improved help & stability
138
+ - Fix: deletion of mails regardless of options (on update to 1.2 your mails will be deleted hopefully this happens for the last time)
139
+
140
+ = 1.1 =
141
+ - Tweak: Modified readme.
142
+
143
+ = 1.0 =
144
+ - Initial Revision
wp-mail-logging.php CHANGED
@@ -1,108 +1,108 @@
1
- <?php
2
- /*
3
- Plugin Name: WP Mail Logging
4
- Plugin URI: http://wordpress.org/extend/plugins/wp-mail-logging/
5
- Support URI: https://github.com/No3x/wp-mail-logging/issues
6
- Version: 1.8.3
7
- Author: Christian Z&ouml;ller
8
- Author URI: http://no3x.de/
9
- Description: Logs each email sent by WordPress.
10
- Text Domain: wp-mail-logging
11
- License: GPLv3
12
- */
13
-
14
- /*
15
- "WordPress Plugin Template" Copyright (C) 2013 Michael Simpson (email : michael.d.simpson@gmail.com)
16
-
17
- This following part of this file is part of WordPress Plugin Template for WordPress.
18
-
19
- WordPress Plugin Template is free software: you can redistribute it and/or modify
20
- it under the terms of the GNU General Public License as published by
21
- the Free Software Foundation, either version 3 of the License, or
22
- (at your option) any later version.
23
-
24
- WordPress Plugin Template is distributed in the hope that it will be useful,
25
- but WITHOUT ANY WARRANTY; without even the implied warranty of
26
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27
- GNU General Public License for more details.
28
-
29
- You should have received a copy of the GNU General Public License
30
- along with Contact Form to Database Extension.
31
- If not, see http://www.gnu.org/licenses/gpl-3.0.html
32
- */
33
-
34
- namespace No3x\WPML;
35
-
36
- // Exit if accessed directly.
37
- if ( ! defined( 'ABSPATH' ) ) exit;
38
-
39
- define('WPML_PHP_MIN_VERSION', '5.4');
40
-
41
- /**
42
- * Check the PHP version and give a useful error message if the user's version is less than the required version
43
- * @return boolean true if version check passed. If false, triggers an error which WP will handle, by displaying
44
- * an error message on the Admin page
45
- */
46
- function WPML_noticePhpVersionWrong() {
47
- echo '<div class="error">' .
48
- __( 'Error: plugin "WP Mail Logging" requires a newer version of PHP to be running.', 'wp-mail-logging' ).
49
- '<br/>' . __( 'Minimal version of PHP required: ', 'wp-mail-logging' ) . '<strong>' . WPML_PHP_MIN_VERSION . '</strong>' .
50
- '<br/>' . __( 'Your server\'s PHP version: ', 'wp-mail-logging' ) . '<strong>' . phpversion() . '</strong>' .
51
- '</div>';
52
- }
53
-
54
-
55
- function WPML_PhpVersionCheck() {
56
- if ( version_compare( phpversion(), WPML_PHP_MIN_VERSION ) < 0 ) {
57
- add_action( 'admin_notices', __NAMESPACE__ . '\WPML_noticePhpVersionWrong' );
58
- return false;
59
- }
60
- return true;
61
- }
62
-
63
-
64
- /**
65
- * Initialize internationalization (i18n) for this plugin.
66
- * References:
67
- * http://codex.wordpress.org/I18n_for_WordPress_Developers
68
- * http://www.wdmac.com/how-to-create-a-po-language-translation#more-631
69
- * @return void
70
- */
71
- function WPML_i18n_init() {
72
- $pluginDir = dirname(plugin_basename(__FILE__));
73
- load_plugin_textdomain('wp-mail-logging', false, $pluginDir . '/languages/');
74
- }
75
-
76
-
77
- //////////////////////////////////
78
- // Run initialization
79
- /////////////////////////////////
80
-
81
- // First initialize i18n
82
- WPML_i18n_init();
83
-
84
-
85
- // Next, run the version check.
86
- // If it is successful, continue with initialization for this plugin
87
- if (WPML_PhpVersionCheck()) {
88
- // Only init and run the init function if we know PHP version can parse it
89
- require __DIR__ . '/autoload.php';
90
-
91
- // Create a new instance of the autoloader
92
- $loader = new \WPML_Psr4AutoloaderClass();
93
-
94
- // Register this instance
95
- $loader->register();
96
-
97
- // Add our namespace and the folder it maps to
98
- require_once __DIR__ . '/inc/redux/admin-init.php';
99
- $loader->addNamespace('No3x\\WPML\\', __DIR__ );
100
- $loader->addNamespace('No3x\\WPML\\Model\\', __DIR__ . '/model' );
101
- $loader->addNamespace('No3x\\WPML\\Settings\\', __DIR__ . '/inc/redux');
102
- $loader->addNamespace('No3x\\WPML\\ORM\\', __DIR__ . '/lib/vendor/brandonwamboldt/wp-orm/src');
103
- $loader->addNamespace('No3x\\WPML\\Pimple\\', __DIR__ . '/lib/vendor/pimple/pimple/src');
104
- if( file_exists( __DIR__ . '/vendor/autoload.php' ) ) {
105
- require_once __DIR__ . '/vendor/autoload.php';
106
- }
107
- WPML_Init::getInstance()->init( __FILE__ );
108
- }
1
+ <?php
2
+ /*
3
+ Plugin Name: WP Mail Logging
4
+ Plugin URI: http://wordpress.org/extend/plugins/wp-mail-logging/
5
+ Support URI: https://github.com/No3x/wp-mail-logging/issues
6
+ Version: 1.8.4
7
+ Author: Christian Z&ouml;ller
8
+ Author URI: http://no3x.de/
9
+ Description: Logs each email sent by WordPress.
10
+ Text Domain: wp-mail-logging
11
+ License: GPLv3
12
+ */
13
+
14
+ /*
15
+ "WordPress Plugin Template" Copyright (C) 2013 Michael Simpson (email : michael.d.simpson@gmail.com)
16
+
17
+ This following part of this file is part of WordPress Plugin Template for WordPress.
18
+
19
+ WordPress Plugin Template is free software: you can redistribute it and/or modify
20
+ it under the terms of the GNU General Public License as published by
21
+ the Free Software Foundation, either version 3 of the License, or
22
+ (at your option) any later version.
23
+
24
+ WordPress Plugin Template is distributed in the hope that it will be useful,
25
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
26
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
27
+ GNU General Public License for more details.
28
+
29
+ You should have received a copy of the GNU General Public License
30
+ along with Contact Form to Database Extension.
31
+ If not, see http://www.gnu.org/licenses/gpl-3.0.html
32
+ */
33
+
34
+ namespace No3x\WPML;
35
+
36
+ // Exit if accessed directly.
37
+ if ( ! defined( 'ABSPATH' ) ) exit;
38
+
39
+ define('WPML_PHP_MIN_VERSION', '5.4');
40
+
41
+ /**
42
+ * Check the PHP version and give a useful error message if the user's version is less than the required version
43
+ * @return boolean true if version check passed. If false, triggers an error which WP will handle, by displaying
44
+ * an error message on the Admin page
45
+ */
46
+ function WPML_noticePhpVersionWrong() {
47
+ echo '<div class="error">' .
48
+ __( 'Error: plugin "WP Mail Logging" requires a newer version of PHP to be running.', 'wp-mail-logging' ).
49
+ '<br/>' . __( 'Minimal version of PHP required: ', 'wp-mail-logging' ) . '<strong>' . WPML_PHP_MIN_VERSION . '</strong>' .
50
+ '<br/>' . __( 'Your server\'s PHP version: ', 'wp-mail-logging' ) . '<strong>' . phpversion() . '</strong>' .
51
+ '</div>';
52
+ }
53
+
54
+
55
+ function WPML_PhpVersionCheck() {
56
+ if ( version_compare( phpversion(), WPML_PHP_MIN_VERSION ) < 0 ) {
57
+ add_action( 'admin_notices', __NAMESPACE__ . '\WPML_noticePhpVersionWrong' );
58
+ return false;
59
+ }
60
+ return true;
61
+ }
62
+
63
+
64
+ /**
65
+ * Initialize internationalization (i18n) for this plugin.
66
+ * References:
67
+ * http://codex.wordpress.org/I18n_for_WordPress_Developers
68
+ * http://www.wdmac.com/how-to-create-a-po-language-translation#more-631
69
+ * @return void
70
+ */
71
+ function WPML_i18n_init() {
72
+ $pluginDir = dirname(plugin_basename(__FILE__));
73
+ load_plugin_textdomain('wp-mail-logging', false, $pluginDir . '/languages/');
74
+ }
75
+
76
+
77
+ //////////////////////////////////
78
+ // Run initialization
79
+ /////////////////////////////////
80
+
81
+ // First initialize i18n
82
+ WPML_i18n_init();
83
+
84
+
85
+ // Next, run the version check.
86
+ // If it is successful, continue with initialization for this plugin
87
+ if (WPML_PhpVersionCheck()) {
88
+ // Only init and run the init function if we know PHP version can parse it
89
+ require __DIR__ . '/autoload.php';
90
+
91
+ // Create a new instance of the autoloader
92
+ $loader = new \WPML_Psr4AutoloaderClass();
93
+
94
+ // Register this instance
95
+ $loader->register();
96
+
97
+ // Add our namespace and the folder it maps to
98
+ require_once __DIR__ . '/inc/redux/admin-init.php';
99
+ $loader->addNamespace('No3x\\WPML\\', __DIR__ );
100
+ $loader->addNamespace('No3x\\WPML\\Model\\', __DIR__ . '/model' );
101
+ $loader->addNamespace('No3x\\WPML\\Settings\\', __DIR__ . '/inc/redux');
102
+ $loader->addNamespace('No3x\\WPML\\ORM\\', __DIR__ . '/lib/vendor/brandonwamboldt/wp-orm/src');
103
+ $loader->addNamespace('No3x\\WPML\\Pimple\\', __DIR__ . '/lib/vendor/pimple/pimple/src');
104
+ if( file_exists( __DIR__ . '/vendor/autoload.php' ) ) {
105
+ require_once __DIR__ . '/vendor/autoload.php';
106
+ }
107
+ WPML_Init::getInstance()->init( __FILE__ );
108
+ }