Flamingo - Version 1.0.5

Version Description

  • New: Support hierarchical channels (aka "sub channels") for inbound messages.
  • Improved spam management.
  • Translation for German has been created.
  • This version requires WordPress 3.5 or higher.
Download this release

Release Info

Developer takayukister
Plugin Icon 128x128 Flamingo
Version 1.0.5
Comparing to
See all releases

Code changes from version 1.0.4 to 1.0.5

admin/includes/class-inbound-messages-list-table.php CHANGED
@@ -57,8 +57,17 @@ class Flamingo_Inbound_Messages_List_Table extends WP_List_Table {
57
  if ( ! empty( $_REQUEST['channel'] ) )
58
  $args['channel'] = $_REQUEST['channel'];
59
 
60
- if ( ! empty( $_REQUEST['post_status'] ) && 'trash' == $_REQUEST['post_status'] )
61
- $args['post_status'] = 'trash';
 
 
 
 
 
 
 
 
 
62
 
63
  $this->items = Flamingo_Inbound_Message::find( $args );
64
 
@@ -69,28 +78,44 @@ class Flamingo_Inbound_Messages_List_Table extends WP_List_Table {
69
  'total_items' => $total_items,
70
  'total_pages' => $total_pages,
71
  'per_page' => $per_page ) );
72
-
73
- $this->is_trash = isset( $_REQUEST['post_status'] ) && $_REQUEST['post_status'] == 'trash';
74
  }
75
 
76
  function get_views() {
77
  $status_links = array();
78
- $post_status = empty( $_REQUEST['post_status'] ) ? '' : $_REQUEST['post_status'];
 
79
 
80
  // Inbox
81
  Flamingo_Inbound_Message::find( array( 'post_status' => 'any' ) );
82
  $posts_in_inbox = Flamingo_Inbound_Message::$found_items;
83
 
84
  $inbox = sprintf(
85
- _nx( 'Inbox <span class="count">(%s)</span>', 'Inbox <span class="count">(%s)</span>',
 
86
  $posts_in_inbox, 'posts', 'flamingo' ),
87
  number_format_i18n( $posts_in_inbox ) );
88
 
89
  $status_links['inbox'] = sprintf( '<a href="%1$s"%2$s>%3$s</a>',
90
  admin_url( 'admin.php?page=flamingo_inbound' ),
91
- 'trash' != $post_status ? ' class="current"' : '',
92
  $inbox );
93
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
94
  // Trash
95
  Flamingo_Inbound_Message::find( array( 'post_status' => 'trash' ) );
96
  $posts_in_trash = Flamingo_Inbound_Message::$found_items;
@@ -99,7 +124,8 @@ class Flamingo_Inbound_Messages_List_Table extends WP_List_Table {
99
  return $status_links;
100
 
101
  $trash = sprintf(
102
- _nx( 'Trash <span class="count">(%s)</span>', 'Trash <span class="count">(%s)</span>',
 
103
  $posts_in_trash, 'posts', 'flamingo' ),
104
  number_format_i18n( $posts_in_trash ) );
105
 
@@ -127,13 +153,21 @@ class Flamingo_Inbound_Messages_List_Table extends WP_List_Table {
127
  function get_bulk_actions() {
128
  $actions = array();
129
 
130
- if ( $this->is_trash )
131
  $actions['untrash'] = __( 'Restore', 'flamingo' );
 
132
 
133
- if ( $this->is_trash || ! EMPTY_TRASH_DAYS )
134
  $actions['delete'] = __( 'Delete Permanently', 'flamingo' );
135
- else
136
  $actions['trash'] = __( 'Move to Trash', 'flamingo' );
 
 
 
 
 
 
 
137
 
138
  return $actions;
139
  }
@@ -168,6 +202,7 @@ class Flamingo_Inbound_Messages_List_Table extends WP_List_Table {
168
  'hide_empty' => 0,
169
  'hide_if_empty' => 1,
170
  'orderby' => 'name',
 
171
  'selected' => $channel ) );
172
 
173
  submit_button( __( 'Filter', 'flamingo' ),
@@ -206,20 +241,19 @@ class Flamingo_Inbound_Messages_List_Table extends WP_List_Table {
206
  $actions['edit'] = '<a href="' . $edit_link . '">'
207
  . esc_html( __( 'Edit', 'flamingo' ) ) . '</a>';
208
 
209
- if ( flamingo_akismet_is_active() && ! empty( $item->akismet ) ) {
210
- if ( ! empty( $item->akismet['spam'] ) ) {
211
- $link = add_query_arg( array( 'action' => 'unspam' ), $url );
212
- $link = wp_nonce_url( $link, 'flamingo-unspam-inbound-message_' . $item->id );
213
 
214
- $actions['unspam'] = '<a href="' . $link . '">'
215
- . esc_html( __( 'Not Spam', 'flamingo' ) ) . '</a>';
216
- } else {
217
- $link = add_query_arg( array( 'action' => 'spam' ), $url );
218
- $link = wp_nonce_url( $link, 'flamingo-spam-inbound-message_' . $item->id );
219
 
220
- $actions['spam'] = '<a href="' . $link . '">'
221
- . esc_html( __( 'Spam', 'flamingo' ) ) . '</a>';
222
- }
223
  }
224
 
225
  $a = sprintf( '<a class="row-title" href="%1$s" title="%2$s">%3$s</a>',
@@ -238,14 +272,33 @@ class Flamingo_Inbound_Messages_List_Table extends WP_List_Table {
238
  if ( empty( $item->channel ) )
239
  return '';
240
 
241
- $term = get_term_by( 'slug', $item->channel, Flamingo_Inbound_Message::channel_taxonomy );
 
242
 
243
  if ( empty( $term ) || is_wp_error( $term ) )
244
  return $item->channel;
245
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
246
  $link = admin_url( 'admin.php?page=flamingo_inbound&channel=' . $term->slug );
247
 
248
- $output = sprintf( '<a href="%1$s" title="%2$s">%3$s</a>',
249
  $link, esc_attr( $term->name ), esc_html( $term->name ) );
250
 
251
  return $output;
57
  if ( ! empty( $_REQUEST['channel'] ) )
58
  $args['channel'] = $_REQUEST['channel'];
59
 
60
+ $this->is_trash = $this->is_spam = false;
61
+
62
+ if ( ! empty( $_REQUEST['post_status'] ) ) {
63
+ if ( 'trash' == $_REQUEST['post_status'] ) {
64
+ $args['post_status'] = 'trash';
65
+ $this->is_trash = true;
66
+ } elseif ( 'spam' == $_REQUEST['post_status'] ) {
67
+ $args['post_status'] = Flamingo_Inbound_Message::spam_status;
68
+ $this->is_spam = true;
69
+ }
70
+ }
71
 
72
  $this->items = Flamingo_Inbound_Message::find( $args );
73
 
78
  'total_items' => $total_items,
79
  'total_pages' => $total_pages,
80
  'per_page' => $per_page ) );
 
 
81
  }
82
 
83
  function get_views() {
84
  $status_links = array();
85
+ $post_status = empty( $_REQUEST['post_status'] )
86
+ ? '' : $_REQUEST['post_status'];
87
 
88
  // Inbox
89
  Flamingo_Inbound_Message::find( array( 'post_status' => 'any' ) );
90
  $posts_in_inbox = Flamingo_Inbound_Message::$found_items;
91
 
92
  $inbox = sprintf(
93
+ _nx( 'Inbox <span class="count">(%s)</span>',
94
+ 'Inbox <span class="count">(%s)</span>',
95
  $posts_in_inbox, 'posts', 'flamingo' ),
96
  number_format_i18n( $posts_in_inbox ) );
97
 
98
  $status_links['inbox'] = sprintf( '<a href="%1$s"%2$s>%3$s</a>',
99
  admin_url( 'admin.php?page=flamingo_inbound' ),
100
+ ( $this->is_trash || $this->is_spam ) ? '' : ' class="current"',
101
  $inbox );
102
 
103
+ // Spam
104
+ Flamingo_Inbound_Message::find( array(
105
+ 'post_status' => Flamingo_Inbound_Message::spam_status ) );
106
+ $posts_in_spam = Flamingo_Inbound_Message::$found_items;
107
+
108
+ $spam = sprintf(
109
+ _nx( 'Spam <span class="count">(%s)</span>',
110
+ 'Spam <span class="count">(%s)</span>',
111
+ $posts_in_spam, 'posts', 'flamingo' ),
112
+ number_format_i18n( $posts_in_spam ) );
113
+
114
+ $status_links['spam'] = sprintf( '<a href="%1$s"%2$s>%3$s</a>',
115
+ admin_url( 'admin.php?page=flamingo_inbound&post_status=spam' ),
116
+ 'spam' == $post_status ? ' class="current"' : '',
117
+ $spam );
118
+
119
  // Trash
120
  Flamingo_Inbound_Message::find( array( 'post_status' => 'trash' ) );
121
  $posts_in_trash = Flamingo_Inbound_Message::$found_items;
124
  return $status_links;
125
 
126
  $trash = sprintf(
127
+ _nx( 'Trash <span class="count">(%s)</span>',
128
+ 'Trash <span class="count">(%s)</span>',
129
  $posts_in_trash, 'posts', 'flamingo' ),
130
  number_format_i18n( $posts_in_trash ) );
131
 
153
  function get_bulk_actions() {
154
  $actions = array();
155
 
156
+ if ( $this->is_trash ) {
157
  $actions['untrash'] = __( 'Restore', 'flamingo' );
158
+ }
159
 
160
+ if ( $this->is_trash || ! EMPTY_TRASH_DAYS ) {
161
  $actions['delete'] = __( 'Delete Permanently', 'flamingo' );
162
+ } else {
163
  $actions['trash'] = __( 'Move to Trash', 'flamingo' );
164
+ }
165
+
166
+ if ( $this->is_spam ) {
167
+ $actions['unspam'] = __( 'Not Spam', 'flamingo' );
168
+ } else {
169
+ $actions['spam'] = __( 'Mark as Spam', 'flamingo' );
170
+ }
171
 
172
  return $actions;
173
  }
202
  'hide_empty' => 0,
203
  'hide_if_empty' => 1,
204
  'orderby' => 'name',
205
+ 'hierarchical' => 1,
206
  'selected' => $channel ) );
207
 
208
  submit_button( __( 'Filter', 'flamingo' ),
241
  $actions['edit'] = '<a href="' . $edit_link . '">'
242
  . esc_html( __( 'Edit', 'flamingo' ) ) . '</a>';
243
 
244
+ if ( $item->spam ) {
245
+ $link = add_query_arg( array( 'action' => 'unspam' ), $url );
246
+ $link = wp_nonce_url( $link,
247
+ 'flamingo-unspam-inbound-message_' . $item->id );
248
 
249
+ $actions['unspam'] = '<a href="' . $link . '">'
250
+ . esc_html( __( 'Not Spam', 'flamingo' ) ) . '</a>';
251
+ } else {
252
+ $link = add_query_arg( array( 'action' => 'spam' ), $url );
253
+ $link = wp_nonce_url( $link, 'flamingo-spam-inbound-message_' . $item->id );
254
 
255
+ $actions['spam'] = '<a href="' . $link . '">'
256
+ . esc_html( __( 'Spam', 'flamingo' ) ) . '</a>';
 
257
  }
258
 
259
  $a = sprintf( '<a class="row-title" href="%1$s" title="%2$s">%3$s</a>',
272
  if ( empty( $item->channel ) )
273
  return '';
274
 
275
+ $term = get_term_by( 'slug', $item->channel,
276
+ Flamingo_Inbound_Message::channel_taxonomy );
277
 
278
  if ( empty( $term ) || is_wp_error( $term ) )
279
  return $item->channel;
280
 
281
+ $output = '';
282
+
283
+ $ancestors = (array) get_ancestors( $term->term_id,
284
+ Flamingo_Inbound_Message::channel_taxonomy );
285
+
286
+ while ( $parent = array_pop( $ancestors ) ) {
287
+ $parent = get_term( $parent, Flamingo_Inbound_Message::channel_taxonomy );
288
+
289
+ if ( empty( $parent ) || is_wp_error( $parent ) )
290
+ continue;
291
+
292
+ $link = admin_url(
293
+ 'admin.php?page=flamingo_inbound&channel=' . $parent->slug );
294
+
295
+ $output .= sprintf( '<a href="%1$s" title="%2$s">%3$s</a> / ',
296
+ $link, esc_attr( $parent->name ), esc_html( $parent->name ) );
297
+ }
298
+
299
  $link = admin_url( 'admin.php?page=flamingo_inbound&channel=' . $term->slug );
300
 
301
+ $output .= sprintf( '<a href="%1$s" title="%2$s">%3$s</a>',
302
  $link, esc_attr( $term->name ), esc_html( $term->name ) );
303
 
304
  return $output;
flamingo.php CHANGED
@@ -6,10 +6,10 @@ Description: Flamingo manages your contact list on WordPress.
6
  Author: Takayuki Miyoshi
7
  Text Domain: flamingo
8
  Domain Path: /languages/
9
- Version: 1.0.4
10
  */
11
 
12
- define( 'FLAMINGO_VERSION', '1.0.4' );
13
 
14
  define( 'FLAMINGO_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
15
 
6
  Author: Takayuki Miyoshi
7
  Text Domain: flamingo
8
  Domain Path: /languages/
9
+ Version: 1.0.5
10
  */
11
 
12
+ define( 'FLAMINGO_VERSION', '1.0.5' );
13
 
14
  define( 'FLAMINGO_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
15
 
includes/class-inbound-message.php CHANGED
@@ -3,6 +3,7 @@
3
  class Flamingo_Inbound_Message {
4
 
5
  const post_type = 'flamingo_inbound';
 
6
  const channel_taxonomy = 'flamingo_inbound_channel';
7
 
8
  public static $found_items = 0;
@@ -17,6 +18,7 @@ class Flamingo_Inbound_Message {
17
  public $fields;
18
  public $meta;
19
  public $akismet;
 
20
 
21
  public static function register_post_type() {
22
  register_post_type( self::post_type, array(
@@ -26,11 +28,19 @@ class Flamingo_Inbound_Message {
26
  'rewrite' => false,
27
  'query_var' => false ) );
28
 
 
 
 
 
 
 
 
29
  register_taxonomy( self::channel_taxonomy, self::post_type, array(
30
  'labels' => array(
31
  'name' => __( 'Flamingo Inbound Message Channels', 'flamingo' ),
32
  'singular_name' => __( 'Flamingo Inbound Message Channel', 'flamingo' ) ),
33
  'public' => false,
 
34
  'rewrite' => false,
35
  'query_var' => false ) );
36
  }
@@ -88,7 +98,8 @@ class Flamingo_Inbound_Message {
88
  'from_email' => '',
89
  'fields' => array(),
90
  'meta' => array(),
91
- 'akismet' => array() );
 
92
 
93
  $args = wp_parse_args( $args, $defaults );
94
 
@@ -103,6 +114,12 @@ class Flamingo_Inbound_Message {
103
  $obj->meta = $args['meta'];
104
  $obj->akismet = $args['akismet'];
105
 
 
 
 
 
 
 
106
  $obj->save();
107
 
108
  return $obj;
@@ -125,6 +142,12 @@ class Flamingo_Inbound_Message {
125
 
126
  if ( ! empty( $terms ) && ! is_wp_error( $terms ) )
127
  $this->channel = $terms[0]->slug;
 
 
 
 
 
 
128
  }
129
  }
130
 
@@ -139,10 +162,12 @@ class Flamingo_Inbound_Message {
139
 
140
  $post_content = implode( "\n", $fields );
141
 
 
 
142
  $postarr = array(
143
  'ID' => absint( $this->id ),
144
  'post_type' => self::post_type,
145
- 'post_status' => 'publish',
146
  'post_title' => $post_title,
147
  'post_content' => $post_content );
148
 
@@ -197,6 +222,17 @@ class Flamingo_Inbound_Message {
197
  }
198
 
199
  public function spam() {
 
 
 
 
 
 
 
 
 
 
 
200
  if ( empty( $this->id ) || empty( $this->akismet ) )
201
  return;
202
 
@@ -214,6 +250,17 @@ class Flamingo_Inbound_Message {
214
  }
215
 
216
  public function unspam() {
 
 
 
 
 
 
 
 
 
 
 
217
  if ( empty( $this->id ) || empty( $this->akismet ) )
218
  return;
219
 
3
  class Flamingo_Inbound_Message {
4
 
5
  const post_type = 'flamingo_inbound';
6
+ const spam_status = 'flamingo-spam';
7
  const channel_taxonomy = 'flamingo_inbound_channel';
8
 
9
  public static $found_items = 0;
18
  public $fields;
19
  public $meta;
20
  public $akismet;
21
+ public $spam;
22
 
23
  public static function register_post_type() {
24
  register_post_type( self::post_type, array(
28
  'rewrite' => false,
29
  'query_var' => false ) );
30
 
31
+ register_post_status( self::spam_status, array(
32
+ 'label' => __( 'Spam', 'flamingo' ),
33
+ 'public' => false,
34
+ 'exclude_from_search' => true,
35
+ 'show_in_admin_all_list' => false,
36
+ 'show_in_admin_status_list' => true ) );
37
+
38
  register_taxonomy( self::channel_taxonomy, self::post_type, array(
39
  'labels' => array(
40
  'name' => __( 'Flamingo Inbound Message Channels', 'flamingo' ),
41
  'singular_name' => __( 'Flamingo Inbound Message Channel', 'flamingo' ) ),
42
  'public' => false,
43
+ 'hierarchical' => true,
44
  'rewrite' => false,
45
  'query_var' => false ) );
46
  }
98
  'from_email' => '',
99
  'fields' => array(),
100
  'meta' => array(),
101
+ 'akismet' => array(),
102
+ 'spam' => false );
103
 
104
  $args = wp_parse_args( $args, $defaults );
105
 
114
  $obj->meta = $args['meta'];
115
  $obj->akismet = $args['akismet'];
116
 
117
+ if ( $args['spam'] ) {
118
+ $obj->spam = true;
119
+ } else {
120
+ $obj->spam = ! empty( $obj->akismet['spam'] );
121
+ }
122
+
123
  $obj->save();
124
 
125
  return $obj;
142
 
143
  if ( ! empty( $terms ) && ! is_wp_error( $terms ) )
144
  $this->channel = $terms[0]->slug;
145
+
146
+ if ( self::spam_status == get_post_status( $post ) ) {
147
+ $this->spam = true;
148
+ } else {
149
+ $this->spam = ! empty( $this->akismet['spam'] );
150
+ }
151
  }
152
  }
153
 
162
 
163
  $post_content = implode( "\n", $fields );
164
 
165
+ $post_status = $this->spam ? self::spam_status : 'publish';
166
+
167
  $postarr = array(
168
  'ID' => absint( $this->id ),
169
  'post_type' => self::post_type,
170
+ 'post_status' => $post_status,
171
  'post_title' => $post_title,
172
  'post_content' => $post_content );
173
 
222
  }
223
 
224
  public function spam() {
225
+ if ( $this->spam ) {
226
+ return;
227
+ }
228
+
229
+ $this->akismet_submit_spam();
230
+ $this->spam = true;
231
+
232
+ return $this->save();
233
+ }
234
+
235
+ public function akismet_submit_spam() {
236
  if ( empty( $this->id ) || empty( $this->akismet ) )
237
  return;
238
 
250
  }
251
 
252
  public function unspam() {
253
+ if ( ! $this->spam ) {
254
+ return;
255
+ }
256
+
257
+ $this->akismet_submit_ham();
258
+ $this->spam = false;
259
+
260
+ return $this->save();
261
+ }
262
+
263
+ public function akismet_submit_ham() {
264
  if ( empty( $this->id ) || empty( $this->akismet ) )
265
  return;
266
 
languages/flamingo-de_DE.mo ADDED
Binary file
languages/flamingo-de_DE.po ADDED
@@ -0,0 +1,362 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Flamingo\n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-10-19 00:15+0900\n"
6
+ "PO-Revision-Date: 2013-07-23 12:40+0100\n"
7
+ "Last-Translator: Christian Becker-Kapraun <alariel@alariel.de>\n"
8
+ "Language-Team: \n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Poedit-SourceCharset: utf-8\n"
13
+ "X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_c\n"
14
+ "X-Poedit-Basepath: ../..\n"
15
+ "Plural-Forms: nplurals=1; plural=0;\n"
16
+ "X-Generator: Poedit 1.5.3\n"
17
+ "X-Poedit-SearchPath-0: flamingo\n"
18
+
19
+ #: flamingo/admin/admin.php:9
20
+ #: flamingo/admin/admin.php:14
21
+ #: flamingo/admin/admin.php:256
22
+ msgid "Flamingo Address Book"
23
+ msgstr "Flamingo Adressbuch"
24
+
25
+ #: flamingo/admin/admin.php:9
26
+ msgid "Flamingo"
27
+ msgstr "Flamingo"
28
+
29
+ #: flamingo/admin/admin.php:14
30
+ msgid "Address Book"
31
+ msgstr "Adressbuch"
32
+
33
+ #: flamingo/admin/admin.php:20
34
+ #: flamingo/includes/class-inbound-message.php:24
35
+ msgid "Flamingo Inbound Messages"
36
+ msgstr "Flamingo Eingehende Nachrichten"
37
+
38
+ #: flamingo/admin/admin.php:20
39
+ #: flamingo/admin/admin.php:489
40
+ msgid "Inbound Messages"
41
+ msgstr "Eingehende Nachrichten"
42
+
43
+ #: flamingo/admin/admin.php:66
44
+ msgid "Contact updated."
45
+ msgstr "Kontakt aktualisiert."
46
+
47
+ #: flamingo/admin/admin.php:68
48
+ msgid "Contact deleted."
49
+ msgstr "Kontakt gelöscht."
50
+
51
+ #: flamingo/admin/admin.php:70
52
+ msgid "Messages trashed."
53
+ msgstr "Nachrichten in den Müll verschoben."
54
+
55
+ #: flamingo/admin/admin.php:72
56
+ msgid "Messages restored."
57
+ msgstr "Nachrichten wiederhergestellt."
58
+
59
+ #: flamingo/admin/admin.php:74
60
+ msgid "Messages deleted."
61
+ msgstr "Nachrichten gelöscht."
62
+
63
+ #: flamingo/admin/admin.php:76
64
+ msgid "Messages got marked as spam."
65
+ msgstr "Nachrichten wurden als Spam markiert."
66
+
67
+ #: flamingo/admin/admin.php:78
68
+ msgid "Messages got marked as not spam."
69
+ msgstr "Nachrichten wurden als \"Kein Spam\" markiert."
70
+
71
+ #: flamingo/admin/admin.php:105
72
+ msgid "You are not allowed to edit this item."
73
+ msgstr "Sie dürfen dieses Element nicht editieren."
74
+
75
+ #: flamingo/admin/admin.php:144
76
+ #: flamingo/admin/admin.php:377
77
+ msgid "You are not allowed to delete this item."
78
+ msgstr "Sie dürfen dieses Element nicht löschen."
79
+
80
+ #: flamingo/admin/admin.php:147
81
+ #: flamingo/admin/admin.php:380
82
+ msgid "Error in deleting."
83
+ msgstr "Fehler während des Löschens."
84
+
85
+ #: flamingo/admin/admin.php:170
86
+ #: flamingo/admin/includes/class-contacts-list-table.php:11
87
+ msgid "Email"
88
+ msgstr "Email"
89
+
90
+ #: flamingo/admin/admin.php:170
91
+ #: flamingo/admin/includes/meta-boxes.php:140
92
+ msgid "Full name"
93
+ msgstr "Voller Name"
94
+
95
+ #: flamingo/admin/admin.php:171
96
+ #: flamingo/admin/includes/meta-boxes.php:145
97
+ msgid "First name"
98
+ msgstr "Vorname"
99
+
100
+ #: flamingo/admin/admin.php:171
101
+ #: flamingo/admin/includes/meta-boxes.php:150
102
+ msgid "Last name"
103
+ msgstr "Nachname"
104
+
105
+ #: flamingo/admin/admin.php:215
106
+ #: flamingo/admin/admin.php:451
107
+ msgid "Save"
108
+ msgstr "Speichern"
109
+
110
+ #: flamingo/admin/admin.php:218
111
+ #: flamingo/admin/includes/class-contacts-list-table.php:13
112
+ msgid "Tags"
113
+ msgstr "Tags"
114
+
115
+ #: flamingo/admin/admin.php:221
116
+ #: flamingo/admin/includes/class-contacts-list-table.php:12
117
+ msgid "Name"
118
+ msgstr "Name"
119
+
120
+ #: flamingo/admin/admin.php:234
121
+ msgid "Contacts"
122
+ msgstr "Kontakte"
123
+
124
+ #: flamingo/admin/admin.php:260
125
+ #: flamingo/admin/admin.php:493
126
+ #, php-format
127
+ msgid "Search results for &#8220;%s&#8221;"
128
+ msgstr "Suchergebnisse für &#8220;%s&#8221;"
129
+
130
+ #: flamingo/admin/admin.php:269
131
+ msgid "Search Contacts"
132
+ msgstr "Suche Kontakte"
133
+
134
+ #: flamingo/admin/admin.php:310
135
+ msgid "You are not allowed to move this item to the Trash."
136
+ msgstr "Sie dürfen dieses Element nicht in den Müll verschieben."
137
+
138
+ #: flamingo/admin/admin.php:313
139
+ msgid "Error in moving to Trash."
140
+ msgstr "Fehler während des Verschiebens in den Müll."
141
+
142
+ #: flamingo/admin/admin.php:340
143
+ msgid "You are not allowed to restore this item from the Trash."
144
+ msgstr "Sie dürfen dieses Element aus dem Müll nicht wiederherstellen."
145
+
146
+ #: flamingo/admin/admin.php:343
147
+ msgid "Error in restoring from Trash."
148
+ msgstr "Fehler während des wiederherstellens aus dem Müll."
149
+
150
+ #: flamingo/admin/admin.php:407
151
+ msgid "You are not allowed to spam this item."
152
+ msgstr "Sie dürfen dieses Element nicht als Spam markieren."
153
+
154
+ #: flamingo/admin/admin.php:435
155
+ msgid "You are not allowed to unspam this item."
156
+ msgstr "Sie dürfen dieses Element nicht als \"Kein Spam\" markieren."
157
+
158
+ #: flamingo/admin/admin.php:454
159
+ msgid "Fields"
160
+ msgstr "Felder"
161
+
162
+ #: flamingo/admin/admin.php:467
163
+ msgid "Messages"
164
+ msgstr "Nachrichten"
165
+
166
+ #: flamingo/admin/admin.php:504
167
+ msgid "Search Messages"
168
+ msgstr "Suche Nachrichten"
169
+
170
+ #: flamingo/admin/edit-contact-form.php:17
171
+ msgid "Edit Contact"
172
+ msgstr "Editiere Kontakt"
173
+
174
+ #: flamingo/admin/edit-contact-form.php:43
175
+ msgid "Enter email here"
176
+ msgstr "Geben Sie hier die EMail-Adresse ein"
177
+
178
+ #: flamingo/admin/edit-inbound-form.php:17
179
+ msgid "Inbound Message"
180
+ msgstr "Eingehende Nachricht"
181
+
182
+ #: flamingo/admin/edit-inbound-form.php:42
183
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:14
184
+ msgid "Date"
185
+ msgstr "Datum"
186
+
187
+ #: flamingo/admin/edit-inbound-form.php:47
188
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:11
189
+ msgid "Subject"
190
+ msgstr "Betreff"
191
+
192
+ #: flamingo/admin/edit-inbound-form.php:52
193
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:12
194
+ msgid "From"
195
+ msgstr "Von"
196
+
197
+ #: flamingo/admin/includes/class-contacts-list-table.php:14
198
+ msgid "History"
199
+ msgstr "History"
200
+
201
+ #: flamingo/admin/includes/class-contacts-list-table.php:15
202
+ msgid "Last Contact"
203
+ msgstr "Letzter Kontakt"
204
+
205
+ #: flamingo/admin/includes/class-contacts-list-table.php:82
206
+ #: flamingo/admin/includes/meta-boxes.php:11
207
+ msgid "Delete"
208
+ msgstr "Löschen"
209
+
210
+ #: flamingo/admin/includes/class-contacts-list-table.php:106
211
+ msgid "View all tags"
212
+ msgstr "Zeige alle Tags"
213
+
214
+ #: flamingo/admin/includes/class-contacts-list-table.php:112
215
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:173
216
+ msgid "Filter"
217
+ msgstr "Filter"
218
+
219
+ #: flamingo/admin/includes/class-contacts-list-table.php:115
220
+ msgid "Export"
221
+ msgstr "Exportiere"
222
+
223
+ #: flamingo/admin/includes/class-contacts-list-table.php:138
224
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:207
225
+ msgid "Edit"
226
+ msgstr "Ändern"
227
+
228
+ #: flamingo/admin/includes/class-contacts-list-table.php:142
229
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:227
230
+ #, php-format
231
+ msgid "Edit &#8220;%s&#8221;"
232
+ msgstr "Ändere &#8220;%s&#8221;"
233
+
234
+ #: flamingo/admin/includes/class-contacts-list-table.php:154
235
+ msgid "No Tags"
236
+ msgstr "Keine Tags"
237
+
238
+ #: flamingo/admin/includes/class-contacts-list-table.php:183
239
+ msgid "User"
240
+ msgstr "Benutzer"
241
+
242
+ #: flamingo/admin/includes/class-contacts-list-table.php:196
243
+ #, php-format
244
+ msgid "Comment (%d)"
245
+ msgstr "Kommentar (%d)"
246
+
247
+ #: flamingo/admin/includes/class-contacts-list-table.php:235
248
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:260
249
+ #: flamingo/includes/class-inbound-message.php:115
250
+ msgid "Y/m/d g:i:s A"
251
+ msgstr "d.m.Y h:i:s"
252
+
253
+ #: flamingo/admin/includes/class-contacts-list-table.php:242
254
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:267
255
+ #, php-format
256
+ msgid "%s ago"
257
+ msgstr "vor %s"
258
+
259
+ #: flamingo/admin/includes/class-contacts-list-table.php:244
260
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:269
261
+ msgid "Y/m/d"
262
+ msgstr "d.m.Y"
263
+
264
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:13
265
+ msgid "Channel"
266
+ msgstr "Kanal"
267
+
268
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:131
269
+ msgid "Restore"
270
+ msgstr "Wiederherstellen"
271
+
272
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:134
273
+ #: flamingo/admin/includes/meta-boxes.php:107
274
+ msgid "Delete Permanently"
275
+ msgstr "Endgültig löschen"
276
+
277
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:136
278
+ #: flamingo/admin/includes/meta-boxes.php:109
279
+ msgid "Move to Trash"
280
+ msgstr "In den Müll verschieben"
281
+
282
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:167
283
+ msgid "View all channels"
284
+ msgstr "Zeige alle Kanäle"
285
+
286
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:178
287
+ msgid "Empty Trash"
288
+ msgstr "Müll leeren"
289
+
290
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:215
291
+ msgid "Not Spam"
292
+ msgstr "Kein Spam"
293
+
294
+ #: flamingo/admin/includes/class-inbound-messages-list-table.php:221
295
+ msgid "Spam"
296
+ msgstr "Spam"
297
+
298
+ #: flamingo/admin/includes/meta-boxes.php:17
299
+ #, php-format
300
+ msgid ""
301
+ "You are about to delete this contact '%s'\n"
302
+ " 'Cancel' to stop, 'OK' to delete."
303
+ msgstr ""
304
+ "Sie sind dabei, diesen Kontakt '%s' zu löschen.\n"
305
+ " 'Abbruch' zum Abbrechen, 'OK' zum Löschen."
306
+
307
+ #: flamingo/admin/includes/meta-boxes.php:22
308
+ msgid "Update Contact"
309
+ msgstr "Kontakt aktualisieren"
310
+
311
+ #: flamingo/admin/includes/meta-boxes.php:24
312
+ msgid "Add Contact"
313
+ msgstr "Kontakt hinzufügen"
314
+
315
+ #: flamingo/admin/includes/meta-boxes.php:68
316
+ msgid "Separate tags with commas"
317
+ msgstr "Tags getrennt durch Kommas"
318
+
319
+ #: flamingo/admin/includes/meta-boxes.php:71
320
+ msgid "Choose from the most used tags"
321
+ msgstr "Wähle aus den meist genutzen Tags"
322
+
323
+ #: flamingo/admin/includes/meta-boxes.php:120
324
+ msgid "Update Message"
325
+ msgstr "Nachricht aktualisieren"
326
+
327
+ #: flamingo/admin/includes/meta-boxes.php:122
328
+ msgid "Add Message"
329
+ msgstr "Nachricht hinzufügen"
330
+
331
+ #: flamingo/includes/class-contact.php:20
332
+ msgid "Flamingo Contacts"
333
+ msgstr "Flamingo Kontakte"
334
+
335
+ #: flamingo/includes/class-contact.php:21
336
+ msgid "Flamingo Contact"
337
+ msgstr "Flamingo Kontakt"
338
+
339
+ #: flamingo/includes/class-contact.php:27
340
+ msgid "Flamingo Contact Tags"
341
+ msgstr "Flamingo Kontakt Tags"
342
+
343
+ #: flamingo/includes/class-contact.php:28
344
+ msgid "Flamingo Contact Tag"
345
+ msgstr "Flamingo Kontakt Tag"
346
+
347
+ #: flamingo/includes/class-inbound-message.php:25
348
+ msgid "Flamingo Inbound Message"
349
+ msgstr "Flamingo Eingehende Nachricht"
350
+
351
+ #: flamingo/includes/class-inbound-message.php:31
352
+ msgid "Flamingo Inbound Message Channels"
353
+ msgstr "Flamingo Eingehende Nachricht - Kanäle"
354
+
355
+ #: flamingo/includes/class-inbound-message.php:32
356
+ msgid "Flamingo Inbound Message Channel"
357
+ msgstr "Flamingo Eingehende Nachricht - Kanal"
358
+
359
+ #: flamingo/includes/class-inbound-message.php:135
360
+ msgid "(No Title)"
361
+ msgstr "(Ohne Titel)"
362
+
languages/{flamingo-es.mo → flamingo-es_ES.mo} RENAMED
File without changes
languages/{flamingo-es.po → flamingo-es_ES.po} RENAMED
File without changes
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Flamingo ===
2
  Contributors: takayukister, megumithemes
3
  Tags: bird, contact, mail, crm
4
- Requires at least: 3.3
5
- Tested up to: 3.5.2
6
- Stable tag: 1.0.4
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
@@ -19,12 +19,13 @@ Flamingo is a WordPress plugin created to be a total CRM package. With this vers
19
  * Chinese, Simplified (zh_CN) - [ninghao](http://ninghao.net/)
20
  * Dutch (nl_NL) - [TenSheep](http://tensheep.nl/)
21
  * French (fr_FR) - [Benjamin Cousin](http://www.bewod.com/)
 
22
  * Hebrew (he_IL) - [Dan Stramer](http://www.dmdesign.co.il/)
23
  * Hungarian (hu_HU) - Rózsahegyi Péter
24
  * Italian (it_IT) - Rosario Capparelli
25
  * Japanese (ja) - [Takayuki Miyoshi](http://ideasilo.wordpress.com)
26
  * Slovak (sk_SK) - Branco Radenovich
27
- * Spanish (es) - [Israel Ortuño](http://expander.es/)
28
  * Turkish (tr_TR) - Ömür YANIKOĞLU
29
  * Vietnamese (vi_VN) - [ICA Design](http://www.icadesign.vn/)
30
 
@@ -41,6 +42,13 @@ If you have created your own language pack, or have an update of an existing one
41
 
42
  == Changelog ==
43
 
 
 
 
 
 
 
 
44
  = 1.0.4 =
45
 
46
  * New: flamingo_map_meta_cap filter has been added.
1
  === Flamingo ===
2
  Contributors: takayukister, megumithemes
3
  Tags: bird, contact, mail, crm
4
+ Requires at least: 3.5
5
+ Tested up to: 3.7.1
6
+ Stable tag: 1.0.5
7
  License: GPLv2 or later
8
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
9
 
19
  * Chinese, Simplified (zh_CN) - [ninghao](http://ninghao.net/)
20
  * Dutch (nl_NL) - [TenSheep](http://tensheep.nl/)
21
  * French (fr_FR) - [Benjamin Cousin](http://www.bewod.com/)
22
+ * German (de_DE) - Christian Becker-Kapraun
23
  * Hebrew (he_IL) - [Dan Stramer](http://www.dmdesign.co.il/)
24
  * Hungarian (hu_HU) - Rózsahegyi Péter
25
  * Italian (it_IT) - Rosario Capparelli
26
  * Japanese (ja) - [Takayuki Miyoshi](http://ideasilo.wordpress.com)
27
  * Slovak (sk_SK) - Branco Radenovich
28
+ * Spanish (es_ES) - [Israel Ortuño](http://expander.es/)
29
  * Turkish (tr_TR) - Ömür YANIKOĞLU
30
  * Vietnamese (vi_VN) - [ICA Design](http://www.icadesign.vn/)
31
 
42
 
43
  == Changelog ==
44
 
45
+ = 1.0.5 =
46
+
47
+ * New: Support hierarchical channels (aka "sub channels") for inbound messages.
48
+ * Improved spam management.
49
+ * Translation for German has been created.
50
+ * This version requires WordPress 3.5 or higher.
51
+
52
  = 1.0.4 =
53
 
54
  * New: flamingo_map_meta_cap filter has been added.